画像処理を調べてみました。as3の画像エフェクトAPIと比べてどうなのか、という点が最終目標ですが、まず、基本的なところからおさえていきます。
CanvasプロパティがBitmapDataのようです。各ピクセルの色は、Pixels[X][Y]で取ることができます。次の例はモザイクを作る方法のテストです。FillRectメソッドもあります。
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Image1->AutoSize=true;
Image1->Picture->LoadFromFile("..\\..\\柿.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
int X, int Y)
{
Image1->Canvas->Brush->Color = Image1->Canvas->Pixels[X][Y];
Image1->Canvas->FillRect(Rect(X, Y, X+30, Y+50));
}
次の例は、drawメソッドの確認です。CopyModeプロパティが、as3のBlendModeにあたります。Graphics::TBitmapクラスが、as3のBitmapクラスです。Ms.bmpはdrawするための小さな画像です。
TForm1 *Form1;
Graphics::TBitmap *b;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Image1->AutoSize = true;
Image1->Picture->LoadFromFile("..\\..\\柿.bmp");
b=new Graphics::TBitmap;
b->LoadFromFile("..\\..\\Ms.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
int X, int Y)
{
Image1->Canvas->CopyMode = cmSrcCopy;
Image1->Canvas->Draw(X, Y, b);
}
コメントをお書きください