Delphi

メールの詳細(メール表示)

件名:

Re: XE3 + FireMonkeyでScanlineプロパティが消えた?

差出人: hosokawaさん
送信日時 2012/09/25 11:43
ML.NO [delphi-users:2742]
本文:

太田さん

細川です。

試してみました。
こんな感じでいけますね。

もし、今までのコードを弄りたくないのであれば、class helper を作って ScanLine
を実装するといいのではないでしょうか。
ScanLine とは仕組みが違うので、ScanLineBegin, ScanLineEnd みたいなメソッドを
作る必要があると思いますが……

----------------------------------------------------------------------------

procedure TForm1.FormCreate(Sender: TObject);
const
BMP_WIDTH = 640;
BMP_HEIGHT = 480;
type
PDWordArray = ^TDWordArray;
TDWordArray = array [0.. 1] of DWORD;
var
X, Y: Integer;
YAddr: Integer;
begin
FBmp := TBitmap.Create(BMP_WIDTH, BMP_HEIGHT);

FBmp.Map(TMapAccess.maWrite, FBmpData);
try
// PixelFormat が pfA8R8G8B8 前提
for Y := 0 to BMP_WIDTH - 1 do begin
YAddr := Y * BMP_HEIGHT;

for X := 0 to BMP_HEIGHT - 1 do
PDWordArray(FBmpData.Data)[YAddr + X] := $80ff0000; // 半透明の赤
end;
finally
FBmp.Unmap(FBmpData);
end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
FBmp.Free;
end;

procedure TForm1.FormPaint(
Sender: TObject;
Canvas: TCanvas;
const ARect: TRectF);
begin
// 半透明の赤が描画される
Canvas.DrawBitmap(
FBmp,
TRectF.Create(0, 0, 640, 480),
TRectF.Create(0, 0, 640, 480),
1);
end;

----------------------------------------------------------------------------




On Tue, 25 Sep 2012 11:25:16 +0900 (JST)
hosokawa <delphi-users@…> wrote:

> 太田さん
>
> こんにちは。
> 細川です。
>
> ざっとソースを見た限りだと、もっと洗練された方法に変わってますね。
>
> TBitmap.map メソッドを使って TBitmapData を取得し、TBitmapData.Data^ でアクセ
> スできるっぽいです(まだ試してないです)
>
>
>
>
> On Tue, 25 Sep 2012 11:15:08 +0900 (JST)
> "Gracix [takefumi-o]" <delphi-users@…> wrote:
>
> > こんにちは。太田です。
> >
> >
> > XE3を入れて、FireMonkeyでTBitmapをいじっているのですが、
> > Scanlineプロパティが未定義になります。
> > (XE2までは正常にコンパイルできていたコードです。)
> >
> > ヘルプの「FMX.Types.TBitmap」のページには
> >
> > ----
> >
> > TBitmap はピクセル単位(Pixels、ScanLine)で操作やカスタマイズを行うことができます。低レベルでカスタマイズを行うには、カラー
> > ビット(StartLine)を使用します。
> >
> > ----
> >
> > と書かれています。
> >
> > どんな扱いになったのか、詳しい方教えて下さい。
> >
> >
> > 太田剛文
> >
> >
> > MLホームページ: http://www.freeml.com/delphi-users
> >
> > ----------------------------------------------------------------------
> > 練習や試合の予定調整は「とっとと決め太郎」におまかせ!
> > http://ad.freeml.com/cgi-bin/sa.cgi?id=iTbrR
> > ------------------------------------------------------[freeml byGMO]--
>
>
> Regards,
> HOSOKAWA Jun
> [S/G] SERIALGAMES Inc.
> TEL: 03-5812-0980
> FAX: 03-5812-0970
> twitter: http://twitter.com/serialgames
> twitter: http://twitter.com/flaver_sg
> mailto: jun@…
> fla:ver http://flaver.jp/
> WebCapS http://www.serialgames.co.jp/fun.html#WebCapSeria
>
>
> MLホームページ: http://www.freeml.com/delphi-users
>
> ----------------------------------------------------------------------
> 毎日豪華プレゼントキャンペーン開催中!くまポン
> http://ad.freeml.com/cgi-bin/sa.cgi?id=iTb0J
> ------------------------------------------------------[freeml byGMO]--


Regards,
HOSOKAWA Jun
[S/G] SERIALGAMES Inc.
TEL: 03-5812-0980
FAX: 03-5812-0970
twitter: http://twitter.com/serialgames
twitter: http://twitter.com/flaver_sg
mailto: jun@…
fla:ver http://flaver.jp/
WebCapS http://www.serialgames.co.jp/fun.html#WebCapSeria

このエントリーをはてなブックマークに追加
添付:

このメールは下記のメールに対する返信です:

このメールには下記のメールが返信されています: