在TImage控件上做画
翻译:今天能看见山
TImage类提供了一个Canvas属性以使你能在image的内容上绘图。image的改变将会成为这个image的一部分保存下来。如果你把改变过的image拷贝到剪切板上或者将这个image保存为文件,你的改变将会完全成为这个image的一部分。这里的一小段程序代码用来在一个image上画一个箭头。
const TPoint Arrow1[] = { {80,105} , {106,66}, {80,87},{94,98}};
Image1->Canvas->Pen->Color = clBlue;
Image1->Canvas->Pen->Width = 3;
Image1->Canvas->MoveTo(Arrow1[0].x,Arrow1[0].y);
Image1->Canvas->LineTo(Arrow1[1].x,Arrow1[1].y);
Image1->Canvas->MoveTo(Arrow1[0].x,Arrow1[0].y);
Image1->Canvas->LineTo(Arrow1[2].x,Arrow1[2].y);
Image1->Canvas->MoveTo(Arrow1[0].x,Arrow1[0].y);
Image1->Canvas->LineTo(Arrow1[3].x,Arrow1[3].y);
注意:你只能在TImage控件的picture属性为空或者包含一个bitmap类型的图形的时候利用它的Canvas属性做画。如果它包含一个icon或者一个图元文件,则你不能利用它的Canvas做画。TIimage的只读方法GetCanvas证实了这样做的理由。