自己创建了一个IMAGE,为什么不能显示彩色?

SY0204 2004-08-27 10:44:24
RT
...全文
131 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wintergoes 2004-08-30
  • 打赏
  • 举报
回复
呵呵..
kaguo 2004-08-30
  • 打赏
  • 举报
回复
似乎是这样的:
你直接装入的灰色图像PICTURE认为图像格式是灰度的,不接受彩色刷子。
动态Draw上去就不会改变属性...
SY0204 2004-08-30
  • 打赏
  • 举报
回复
恩,可以了,但是为什么会这样?
zlb99 2004-08-29
  • 打赏
  • 举报
回复
动态调入图像

zlb99 2004-08-29
  • 打赏
  • 举报
回复
你试试这样写,就行了
var
myPicture:TPicture;//注意要释放
begin
myPicture:=TPicture.Create();
myPicture.Bitmap.LoadFromFile('c:\aaa.bmp');
image1.Canvas.Draw(0,0,myPicture.Graphic);
end;
linzhengqun 2004-08-28
  • 打赏
  • 举报
回复
代码贴出来吧。
SY0204 2004-08-28
  • 打赏
  • 举报
回复
我用一个IMAGE装了一个BMP的灰度图,
然后在上面将IMAGE.CANVAS的PEN或者BRUSH的颜色都改成彩色,在CANVAS上面做图,结果始终是黑色,代码如下,这次没有动态的创建IMAGE
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Image1: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var PointA:array [1..9] of TPoint;
Pos:TPoint;
begin
Pos.X:=20;
Pos.Y:=20;
PointA[1].X:=Pos.X;
PointA[1].Y:=Pos.Y;
PointA[2].X:=Pos.X+12;
PointA[2].Y:=Pos.Y+10;
PointA[3].X:=Pos.X+9;
PointA[3].Y:=Pos.Y+5;
PointA[4].X:=Pos.X+20;
PointA[4].Y:=Pos.Y+8;
PointA[5].X:=Pos.X+15;
PointA[5].Y:=Pos.Y;
PointA[6].X:=Pos.X+20;
PointA[6].Y:=Pos.Y-8;
PointA[7].X:=Pos.X+9;
PointA[7].Y:=Pos.Y-5;
PointA[8].X:=Pos.X+12;
PointA[8].Y:=Pos.Y-10;
PointA[9].X:=Pos.X;
PointA[9].Y:=Pos.Y;
Image1.Canvas.Brush.Color:=clRed;
Image1.Canvas.Brush.Style:=bsSolid;
Image1.Canvas.Polygon(PointA);

但是如果把图片换成彩色的图片,就可以了,是不是和装的图片有关系,但是感觉IMAGE.PICTURE与IMAGE.CANVAS应该是相互独立的吧
constantine 2004-08-28
  • 打赏
  • 举报
回复
代码?估计是哪里有问题
beigua111 2004-08-27
  • 打赏
  • 举报
回复
说的详细点啊
是不是你的图片有问题啊
一般不会有这样的情况啊

1,185

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧