掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
FireMonkeyで透明色の描画 (ID:43456)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは。 FireMonkey だとパスでくり抜くしかないのですかね? procedure TForm1.FormPaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); var R: TRectF; PathData: TPathData; PB: TPaintBox; begin PB := PaintBox1; with PB.Canvas do begin BeginScene; R := RectF(0, 0, PB.Width, PB.Height); OffsetRect(R, PB.Position.X, PB.Position.Y); Stroke.Color := TAlphaColorRec.White; Fill.Color := TAlphaColorRec.White; PathData := TPathData.Create; try PathData.MoveTo(PointF(R.Left , R.Top )); PathData.LineTo(PointF(R.Right, R.Top )); PathData.LineTo(PointF(R.Right, R.Bottom)); PathData.LineTo(PointF(R.Left , R.Bottom)); PathData.LineTo(PointF(R.Left , R.Top )); PathData.AddArc(PointF(R.Left + 100, R.Top + 100), PointF(50, 50), 0, 360); PathData.ClosePath; FillPath(PathData, 1); finally PathData.Free; end; EndScene; end; end; このコードでは、フォーム上に配置された PaintBox を白く塗り潰し、 (100,100) の位置に半径 50 の円をくり抜きます。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.