喫茶XRAYトップページ

[スレッド全体
]

[9609] リージョンの代わり返信 削除
2016/2/20 (土) 22:27:31 Mr.XRAY
[Bitmapから円形に切り取り、別のBitmapに描画するには?]
http://hpcgi3.nifty.com/e-papy/DelphiBBS/wwwlng.cgi?print+201602/16020010.txt

にレスしたのですが,FireMonkey でした.ハハハッ.
環境はちゃんと書いて欲しいよな.
で,パスでできないか,簡単なテストをしてみました.
動作確認は Windows 7 U64(SP1) + Delphi XE5(UP2) pro FireMonkey HD

procedure TForm1.Button1Click(Sender: TObject);
var
  LCanvas   : TCanvas;
  LRect     : TRectF;
  LPathData : TPathData;
begin
  LCanvas := ImageControl1.Canvas;

  LCanvas.BeginScene;

  LRect := RectF(0, 0, ImageControl1.Width, ImageControl1.Height);
  OffsetRect(LRect, ImageControl1.Position.X, ImageControl1.Position.Y);
  LCanvas.Stroke.Color := TAlphaColorRec.Black;
  Fill.Color           := TAlphaColorRec.White;

  LPathData := TPathData.Create;
  try
//    LPathData.AddRectangle(LRect, 0, 0, []);
    LPathData.AddEllipse(RectF(LRect.Left + 50,
                               LRect.Top + 50,
                               LRect.Left + 150,
                               LRect.Top + 150));
    LPathData.ClosePath;
    LCanvas.FillPath(LPathData, 0.75);
  finally
    LPathData.Free;
  end;
  LCanvas.EndScene;
end;

2 番目の図は,LPathData.AddRectangle(LRect, 0, 0, []); を有効にした場合です.




[9613] Re:リージョンの代わり返信 削除
2016/2/22 (月) 08:20:36 Mr.XRAY
[FireMonkeyアプリケーションで、Bitmapから円形に切り取り、別のBitmapに描画するには]
http://www.gesource.jp/weblog/?p=7353

そうかぁ,マスクを使えばいいんだ.
VCL でも同じ手法でいけますね.

切り取る = リージョン

と考えてしまうんですよね (^^;


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82