掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Bitmapの表示色を変更するには (ID:25164)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
junkiさん、ofZさん 早速のレス、ありがとうございます。 PixelFormat は pf8bitです。 おかしな事をしてるのだとは思うのですが、以下の通りです。 ご指摘をお願い致します。そもそもパレットの仕組みが、、、 ------------------------------------------------------------------------------------ function BW_ColorRevPalette(CoCount: Byte): HPALETTE; var Palette: ^TLogPalette; i: Integer; begin GetMem(Palette, SizeOf(TLogPalette) + SizeOf(TPaletteEntry) * CoCount); Palette^.palNumEntries := CoCount + 1; Palette^.palVersion := $0300; for i := 0 to CoCount do begin if TColor(Palette^.palPalEntry[i]) = clWhite then begin TColor(Palette^.palPalEntry[i]) := clBlack; end else if TColor(Palette^.palPalEntry[i]) = clBlack then begin TColor(Palette^.palPalEntry[i]) := clWhite; end; end; Result := CreatePalette(Palette^); FreeMem(Palette); end; procedure TForm1.Button2Click(Sender: TObject); var pal: TMaxLogPalette; PalSize: WORD; BitMap : TBitMap; //ビットマップオブジェクトの宣言 begin BitMap := TBitMap.Create; //ビットマップの生成 BitMap.LoadFromFile('d:\123.bmp');//pf8bit BitMap.Palette := BW_ColorRevPalette(255); Form1.Image1.Picture.Bitmap := BitMap; Bitmap.Free; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.