procedure TForm1.FormResize(Sender: TObject);
var
d,k:integer;
i:integer;
begin
image1.Top:=20;
image1.Height:=self.ClientHeight-40;
d:=image1.Height*9 div 10;
image1.Width:=d; //注:上面这部分省略可以看到下面画的线,但加上就不行了
with image1.Picture.Bitmap.Canvas do
begin
pen.Width:=2;
pen.Color:=clblack;
MoveTo(image1.Width-10,20);
lineto(image1.Width-10,100);//这儿画的线,为啥看不到呢,帮忙给看一下
end;
end;
var
d,k:integer;
i:integer;
begin
image1.Top:=20;
image1.Height:=self.ClientHeight-40;
d:=image1.Height*9 div 10;
image1.Width:=d; //注:上面这部分省略可以看到下面画的线,但加上就不行了
with image1.Picture.Bitmap.Canvas do
begin
pen.Width:=2;
pen.Color:=clblack;
MoveTo(image1.Width-10,20);
lineto(image1.Width-10,100);//这儿画的线,为啥看不到呢,帮忙给看一下
end;
end;
解决方案 »
- 图片合成(要求能有立体效果)
- 为什么日期查询无法显示结果?
- 如何将Wav文件做到EXE文件里
- 初学者的ado问题,高手指点。
- RMReport 动态建立时 如何设置纸张大小 ??
- 如何讓Tmemo總是顯示第一行,我用add加入很多行,完成后focus總在最后一行,我想讓他回到第一行.請幫忙
- :ADO 关于字段名大小写问题
- 请问怎样实现下面任务
- 哪位朋友能够帮我解释一下application.HelpCommand(help_finder,0);是什么意思?还有,用什么办法可以实现抓屏
- 关于ClientDataSet SQL动态参数的问题?
- 简单的代码优化
- 用adodataset查询了记录手如何显示到表格中?
procedure TForm1.FormResize(Sender: TObject);
var
d,k:integer;
i:integer;
begin
image1.Top:=20;
image1.Height:=self.ClientHeight-40;
d:=image1.Height*9 div 10;
image1.Width:=d; //注:上面这部分省略可以看到下面画的线,但加上就不行了
image1.Picture.Bitmap.Height:=image1.Height;
image1.Picture.Bitmap.Width:=image1.Width;
Image1.Picture.Bitmap.LoadFromFile('board2.bmp');
with image1.Picture.Bitmap.Canvas do
begin
pen.Width:=2;
pen.Color:=clblack;
MoveTo(image1.Width-10,20);
lineto(image1.Width-10,100);//这儿画的线,为啥看不到呢,帮忙给看一下
end;
end;
我一般在onactive的第一次触发里设置
MoveTo(image1.Width-10,20);
lineto(image1.Width-10,100);//这儿画的线,为啥看不到呢,帮忙给看一下
前面的X肯定是超出控件的宽度,你只要在改变时看一下这两个值就知道了
image1.Picture.Bitmap.Width:=image1.Width;
Image1.Picture.Bitmap.LoadFromFile('board2.bmp');
改变一下顺序试试看:
Image1.Picture.Bitmap.LoadFromFile('board2.bmp');
image1.Picture.Bitmap.Height:=image1.Height;
image1.Picture.Bitmap.Width:=image1.Width;
image1.Picture.Bitmap.Width:=image1.Width;
这种写法很不好。你描述下你要的功能,代码我可以给你写出来。
image1.Top:=20;
image1.Height:=self.ClientHeight-40;
d:=image1.Height*9 div 10;
image1.Width:=d;
//上面代码便是实现这个目的,呵呵,我是想在image1控件里一个象棋棋盘的
当然棋盘要有一个好看的背景了,所以导入了一张图片,所以便有下面的代码
image1.Picture.Bitmap.Height:=image1.Height;
image1.Picture.Bitmap.Width:=image1.Width; //当然这两句也可以不写,有病乱投医加上的
Image1.Picture.Bitmap.LoadFromFile('board2.bmp');
//因为要锁定纵横比,所以在onResize事件中加了代码,别见笑,纵横比调整好后,画线的时候出现问题了,便是上面的问题,请帮忙解决一下
MoveTo(image1.Width-10,20);
lineto(image1.Width-10,100);//这儿画的线,为啥看不到呢,帮忙给看一下
这两行直接改成从左上角画到右下角的线,看看画线功能是否正常再说
画线能正常显示了,再考虑是否是因为画的线不在画布上导致不能显示。
var
d,k:integer;
i:integer;
begin
//以下两种,你挑一种{ image1.Top:=20; //第一种,OK
image1.Height:=self.ClientHeight-40;
d:=image1.Height*9 div 10;
image1.Width:=d;
with image1.Canvas do
begin
pen.Width:=2;
pen.Color:=clblack;
MoveTo(image1.Width-10,20);
lineto(image1.Width-10,100);
end;
} image1.Top:=20; //第二种,OK
image1.Height:=self.ClientHeight-40;
d:=image1.Height*9 div 10;
image1.Width:=d;
image1.Picture.Bitmap.Width:=image1.Width;
image1.Picture.Bitmap.Height:=image1.Height;
with image1.Picture.Bitmap.Canvas do
begin
brush.Color:=clwhite;
fillrect(rect(0,0,image1.Width,image1.Height));
pen.Width:=2;
pen.Color:=clblack;
MoveTo(image1.Width-10,20);
lineto(image1.Width-10,100);
end;
end;
TImage处理了一票消息,我挺楼上的 毛老大的说法
建议,楼主直接从TGraphicControl写一个自己处理绘制,会比TImage单纯许多