请问,我的image2上的内容挡住了image1上的线,如何能不覆盖(100分)

E

elfgirl

Unregistered / Unconfirmed
GUEST, unregistred user!
我在image1上划了一根线,然后在imageNew上划了一个矩型框,下面有一根虚线代码如下:
ImageNew->Canvas->Pen->Color=clRed;
ImageNew->Canvas->Brush->Color=clYellow;
ImageNew->Canvas->Rectangle(0,0,ImageNew->Width ,40);
ImageNew->Parent = PanelDrawRegion;
ImageNew->Canvas->Pen->Color=clBlack;
ImageNew->Canvas->Pen->Style=psDot;
ImageNew->Canvas->Brush->Color=clWhite;
ImageNew->Canvas->MoveTo(ImageNew->Width/2,50);
ImageNew->Canvas->LineTo(ImageNew->Width/2,ImageNew->Height);
但是虚线所在的那部分image把下面的image1挡住了为什么那部分是白色的也把后面的挡住拉呢
应该怎么解决
 
因为你的Image不是透明的->设置成透明的即可
 
不行的,我设为透明的了但是还不行你看看我的代码做出的图形下面虚线的地方还是挡住了
 
直接在image1上画
Pen->Style=psnotxor
这样画出的线和原图象成反色
 
还是不可以
 
把你的IMAGE中的图象转换成BMP试试
 
我的图象就要按上面的代码进行不断的画,我知道image中装入picture,可以不挡住但是
实际中要求我这样画怎么办应该怎么把这样画出来的图象转化为bmp
 
把你的BRUSH的STYLE设为BSCLEAR
 
谁知道怎么把image的大小变为上面我的代码所作出图象的大小.也就是上面一个矩型下面一
条点划线,而image的大小就是这样的.
可以实现吗
 
喂,你的ImageNew与Image1不是动态创建的吧?
如果不是的话,好象是ImageNew是你由Image2重命名的。
只要你把Image1改为ImageNew,而Image2改为:Image1,
就可以了。Delphi6没问题,C++Builder也应该没问题的。
 
ImageNew是动态创建的,image1是已经有的
 
Image1也动态创建了(在ImageNew后创建试一试!)。
当然如果有可能(ImageNew只有这一个,或个数已知,就不要动态创建了!)。
 
根本就不行,不知你作出的是什么样的
 
var
ImageNew,Image1 : TImage;
begin
ImageNew := TImage.Create(Self);
with ImageNewdo
begin
//设置相关属性
//处理你的画图
end;
Image1 := TImage.Create(Self);
with Image1do
begin
//设置相关属性
//处理你的画图
end;
end;
你说的缺点没有了,我使用的是Delphi,虽然我会C++Builder,但机器上没有,呵呵。
 
如果只有这两个TImage。
建议你不要动态创建(便于调试),Delphi与C++Bulider都是Borland公司开发的。
C++Builder也应该没有问题。
 
To elfgirl
关于TTreeview 组件的控制(与数据库)。
我有很好的一个例子(可以随意控制父、子节点的关系)。
你要不要?
 
好吧,发到我的信箱吧.什么语言编的.
我想你可能还没有弄明白我的问题,image1在imagenew下面特别大,imagenew上画一个矩型框,下面有一根虚线
image上画一条线,线的起点就在虚线处.但是....
 
是用Delphi编写的,如果你需要我可以翻译成C++Builder的,但是有个前提。
那就是能给我多少分?
当然我相信你会对我的Treeview控制满意的。如何?
//-----------------------------------------------------------------
我想你可能还没有弄明白我的问题,image1在imagenew下面特别大,imagenew上画一个矩型框,下面有一根虚线
image上画一条线,线的起点就在虚线处.但是....
//-----------------
上面的image是指Image1吗?是不是就是不如意?
 
告诉我你的电子信箱呀,否则鬼才知道你的电子信箱呢。
真是的。
 
顶部