Mingだぜ(C言語)
画像を表示する Win32環境でMing

私の環境
私がMingをコンパイルした環境はWindowsXP上でMSYSとMinGWを用いたものです。


まずは画像を表示する
#include<stdio.h>
#include<math.h>
#include"ming.h"

int main()
{
  SWFMovie movie;
  SWFBitmap image;
  SWFInput input;
    
  FILE *fp;
 
  if( NULL == (fp = fopen("00.jpg","rb"))){return 0;}
  input = newSWFInput_file(fp);

  movie = newSWFMovie();
  SWFMovie_add(movie,(SWFBlock)image);
  SWFMovie_save(movie,"b.swf",0);
  return 0;
}

こんなのができます、  (背景写真保管の会のものを使用)



大きさを調整する
#include
#include
#include"ming.h"

struct SWFRect_s
{
  int minX;
  int maxX;
  int minY;
  int maxY;
};

typedef struct SWFRect_s *SWFRect;

int main()
{
  SWFMovie movie;
  SWFBitmap image;
  SWFInput input;
  SWFDisplayItem displayitem;
  FILE *fp;

  movie = newSWFMovie();
  
  if( NULL == (fp = fopen("00.jpg","rb")){
	return 0;
    }
  input = newSWFInput_file(fp);
  image = newSWFBitmap_fromInput(input);

  displayitem = SWFMovie_add(movie,(SWFBlock)image);
  SWFDisplayItem_scale(displayitem,0.5,0.5);
  SWFMovie_save(movie,"b.swf",0);
  return 0;
}

こんなのができます、  (背景写真保管の会のものを使用)

Pngを使用
Pngを使用することもできます。今ままでMingは dblに直していましたが最新版では変更することなく読み込めます。
#include<stdio.h>
#include<math.h>
#include"ming.h"

int main()
{
  SWFMovie movie;
  SWFBitmap image;
  SWFBitmap image_char;
  SWFDisplayItem displayitem;
  SWFInput input;
  SWFInput input_char;
  FILE *fp;
  FILE *fp_char;
  Ming_useSWFVersion(6);

  
  movie = newSWFMovie();

  if( NULL == (fp = fopen("00.jpg","rb"))){
      return 0;
    }
  
  input = newSWFInput_file(fp); 
  image = newSWFBitmap_fromInput(input);
  
   if( NULL == (fp_char = fopen("08.png","rb"))){
      return 0;
    }
  
    input_char = newSWFInput_file(fp_char); 
    image_char = newSWFBitmap_fromInput(input_char);

    displayitem = SWFMovie_add(movie,(SWFBlock)image);
    SWFDisplayItem_scale(displayitem,0.5,0.5);
 
    displayitem = SWFMovie_add(movie,(SWFBlock)image_char);
    SWFDisplayItem_scale(displayitem,0.5,0.5);

    SWFMovie_save(movie,"b.swf",0);
    destroySWFInput(input);
    destroySWFBitmap(image);
    destroySWFInput(input_char);
    destroySWFBitmap(image_char);
    destroySWFMovie(movie);
  return 0;
}
こんなのができます   キャラクター画像は"いずみ亭"のものを使用しています



わからないこと
 Destroyを行うタイミングがよくわからない。
SWFBitmapもSWFInputもsaveするまではdestroyしてはいけないようだ。 またsave後だと使用することができない。(ただしデーターが開放されているわけではなさそうだ)

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル