16K_Seminar_data

トレーニングの準備

プログラムをインポートする

インポートする際は、"update all libraries to the latest revision"を選択します。

Import programRGA_HelloWorld

For Seminar

プログラムの呼び先を変更する

以下のプログラムに該当する行を変更する。

main.cpp line.479(変更前)

                //RGA_Func_Training(frmbuf_info, animation_timing, work_relative_pos);
                RGA_Func_Accelerate(frmbuf_info, animation_timing, work_relative_pos);

main.cpp line.479(変更後)

                RGA_Func_Training(frmbuf_info, animation_timing, work_relative_pos);
                //RGA_Func_Accelerate(frmbuf_info, animation_timing, work_relative_pos);

プログラムを変更する

本セミナで使用するAPIリスト

画像の描画

    canvas2d.drawImage(g_sample0_jpg_File, 100, 100);
          第一引数: 画像ファイルのアドレス
          第二引数: 座標(X軸)
          第三引数: 座標(Y軸)

 

原点中心で回転処理

    canvas2d.rotate(angle);
          第一引数: 回転角度

 

画像の中心が原点となるように平行移動

    canvas2d.translate((-IMG_DRAW_WIDTH / 2), (-IMG_DRAW_HEIGHT / 2));
          第一引数: 移動量(X軸)
          第二引数: 移動量(Y軸)

 

希望する位置への移動

    canvas2d.translate((100 + (IMG_DRAW_WIDTH / 2)), (100 + (IMG_DRAW_HEIGHT / 2)));
          第一引数: 移動量(X軸)
          第二引数: 移動量(Y軸)

 

拡大縮小

    canvas2d.scale(relative_pos * 1.2, relative_pos * 1.2);    
          第一引数: 拡大率(X軸)
          第二引数: 拡大率(Y軸)

 

マトリクスの初期化

    canvas2d.setTransform(1, 0, 0, 1, 0, 0);    
          引数: マトリクス値

 

アニメーション時の位置取得

    R_Get_AnimationTimingFunction("ease-in-out", &accelerator);
          第一引数: アニメーションのタイプ
          第二引数: 情報設定する対象の構造体
    position = R_ANIMATION_TIMING_FUNCTION_GetValue(accelerator, relative_pos, 550.0f, 10.0f);
          第一引数: 情報設定する対象の構造体
          第二引数: 現在地
          第三引数: 開始点の座標
          第四引数: 終了点の座標

 

背景色の設定

    fillColor.u.Alpha = 255;
    fillColor.u.Red   = 255;
    fillColor.u.Green = 255;
    fillColor.u.Blue  = 255;
    R_GRAPHICS_SetBackgroundColor(canvas2d.c_LanguageContext, fillColor);
          第一引数: 情報設定する対象の構造体
          第二引数: 設定色

    /* 色の指定例:  その他は  http://www.colordic.org/
              赤   緑   青
       白:  255, 255, 255
       黒:    0,   0,   0
       赤:  255,   0,   0
    */

 

アルファ値の設定

    alpha = (uint8_t) (relative_pos * (float32_t)ACCELERATE_MAX_NUM) + 15;
    R_GRAPHICS_SetGlobalAlpha(canvas2d.c_LanguageContext, alpha);
          第一引数: 情報設定する対象の構造体
          第二引数: 設定するアルファ値

画像を変更する

ImagePackager

  • ImagePackagerで、画像データを簡単にプログラムで使用する形に変更することが可能。
  • ImagaPackagerは、RGAのアプリケーションノートに付属しています。  mbedサイトでも公開しています( 公式Image Packager)
  • 今回は、予め画像データが含まれた下記をダウンロードして下さい。

ImagePackagerで画像データをプログラム化する

  • ダウンロードしたZIPファイルを任意のフォルダに展開する。
  • 展開した中のimagesフォルダ内のBinaryImageConfig.....xmlファイルをテキストエディタで開く
  • 次のように書き換える(全選択の後、コピーしたデータを貼りつける)

<?xml version="1.0" encoding="UTF-8"?>
<ImagePackager>

<!-- This file is used by RGA_Tools.vbs RunImagePackager in BinaryImageMake.bat -->

<OutputBinary path="BinaryImage_RZ_A1H.c" language="C" symbol="RGA_Sample_BinaryImage"
	source_template="${ImagePackagerLib}\SourceTemplate.xml#default"
	super_class="${ImagePackagerLib}\SuperClass.xml#default"
	alpha_raw_image_width="800">
<OutputHeader path="BinaryImage_RZ_A1H.h" include_define="BINARYIMAGE_RZ_A1H_H"/>
</OutputBinary>


<InputFiles>
<!--Image path="JPEG.jpg" type="graphics_image_t*" symbol="JPEG_jpg_ARGB8888" output_format="ARGB8888"/>
<Image path="JPEG.jpg" type="graphics_image_t*" symbol="JPEG_jpg_RGB565"   output_format="RGB565"/>
<Image path="JPEG.jpg" type="graphics_image_t*" symbol="JPEG_jpg_ARGB1555" output_format="ARGB1555"/>
<Image path="JPEG.jpg" type="graphics_image_t*" symbol="JPEG_jpg_ARGB4444" output_format="ARGB4444"/>
<Image path="JPEG.jpg" type="graphics_image_t*" symbol="JPEG_jpg_YUV422"   output_format="YUV422"/-->

<!-- 演習用データ ここから -->
<File symbol="g_sample0_jpg_File" path="sample00.jpg" type="graphics_image_t*"/>
<File symbol="g_sample1_jpg_File" path="sample01.jpg" type="graphics_image_t*"/>
<!-- 演習用追加データ ここから -->

<File  path="flower.jpg" type="graphics_image_t*" symbol="Flower_jpg_File"/>
<File  path="landscape.jpg" type="graphics_image_t*" symbol="Landscape_jpg_File"/>
<File  path="landscape_wide.jpg" type="graphics_image_t*" symbol="Landscape_wide_jpg_File"/>
<File  path="Top_Screen.jpg" type="graphics_image_t*" symbol="TopScrn_jpg_File"/>
<File  path="ReturnButton.jpg" type="graphics_image_t*" symbol="RetBtn_jpg_File"/>
<File  path="description_swipe.jpg" type="graphics_image_t*" symbol="decs_swipe_jpg_File"/>
<File  path="description_swipe_side.jpg" type="graphics_image_t*" symbol="decs_swipe_side_jpg_File"/>
<File  path="AnimetionTiming.jpg" type="graphics_image_t*" symbol="animetion_timing_jpg_File"/>

<Image path="Crystal.png" type="graphics_image_t*" symbol="Crystal_png_ARGB8888" output_format="ARGB8888"/>
<Image path="Crystal.png" type="graphics_image_t*" symbol="Crystal_png_ARGB1555" output_format="ARGB1555"/>
<Image path="CrystalDither.png" type="graphics_image_t*" symbol="Crystal_png_ARGB4444" output_format="ARGB4444"/>
<File  path="Crystal.png" type="graphics_image_t*" symbol="Crystal_png_File"/>
<File  path="CrystalDither.png" type="graphics_image_t*" symbol="CrystalDither_png_File"/>
</InputFiles>

</ImagePackager>
  • 上の階層にあるBinaryImageMakeRGAH.batを実行し、画像データをソースファイルに変更する
  • 作成できたソースは、Imagesフォルダ内にあります(BinaryImage_RZ_A1H.cとBinaryImage_RZ_A1H.h)
  • これらをテキストエディタで開き、ブラウザ上の同名ファイルの中身を書き換える(全選択+ペースト)


Please log in to post comments.