0

さまざまな画像を保持するためにCodeJock ImageManager コンポーネントを使用しています。これらの画像の 1 つを FlexGrid セルに配置したいと考えています。

私が持っている画像は Png 形式で、背景が透明なので、画像をグリッドにロードすると次のようになります。

Grid.Cell(flexcpPicture, 123, 4) = _
ImageManagerControl.Icons.GetImage(ImageNum, 16).CreatePicture(xtpImageNormal)

元の画像では透明だった背景が黒くなりました: ここに画像の説明を入力(上記の方法を使用して画像を PictureBox にロードすると、同じことが起こります)

ドキュメントによるとStdPictureCreatePictureオブジェクトが返されますが、黒が白になるようにこの画像を (おそらく BitBlt を使用して) 変換する方法はありますか? これが可能かどうかわかりませんか?

これを行う必要があるのは約 3 つの画像だけなので、最初にそれらを ImageList などにロードする必要がある場合は問題ありません。

4

1 に答える 1

0

これがまったく役立つかどうかはわかりませんが、PictureBox をいじっています。フォームに 2 つの画像ボックスを配置し、bmp ファイルを配置して (これは bmp ファイルでのみ機能するため、役に立たない可能性があります)、次のようにしました。

Picture2.PaintPicture Picture1.Picture, 0, 0, opcode:=vbNotSrcCopy

ビットマップの反転に成功しました。RasterOp 定数は次のとおりです。 http://msdn.microsoft.com/en-us/library/aa243035(v=vs.60).aspx

于 2012-11-20T03:03:24.050 に答える