如何实现在Image上绘制不同笔迹的线条!!顶贴有分!

winder_008 2008-10-16 11:23:18
绘制 钢笔 毛笔等不同的形状,而且对虚线也可以绘制。 笔宽可以设定!!不够开贴再加!!
...全文
189 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
winder_008 2008-10-28
  • 打赏
  • 举报
回复
to 楼上:

你的加载 //如果画刷是位图,就可以绘位图,比如毛笔位图,Image1.Canvas.FillRect(Rect(x1,y1,x2,y2));
能不能说的更清楚些,其他画线的方式我都可以实现,关键是实现这种特殊笔触的效果不知道如何实现!!
winder_008 2008-10-21
  • 打赏
  • 举报
回复
服了CSDN了!!
天行归来 2008-10-21
  • 打赏
  • 举报
回复
随手写了点,希望对你有所帮助。
procedure TForm1.FormCreate(Sender: TObject);
begin
//初始化: 绘制白色背景
Image1.Tag := 0;
Image1.Canvas.Brush.Color := clWhite;
Image1.Canvas.FillRect(Rect(0,0,Image1.Width-1,Image1.Height-1));
end;

procedure TForm1.btnSolidPenClick(Sender: TObject);
begin
Image1.Canvas.Pen.Style := psSolid; //实线
Image1.Canvas.Pen.Width := 2; //线宽
end;

procedure TForm1.btnDotClick(Sender: TObject);
begin
Image1.Canvas.Pen.Style := psDot ; //虚线
Image1.Canvas.Pen.Width := 2; //线宽
end;

procedure TForm1.btnBitmapClick(Sender: TObject);
var
bitmap: TBitmap;
begin
Bitmap := TBitmap.Create;
Bitmap.LoadFromFile('c:\tmp.bmp');
Image1.Canvas.Brush.Bitmap := bitmap;
//绘图时,可以用 Image1.Canvas.FillRect(Rect(x1,y1,x2,y2));
Bitmap.Free;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
//in drawing
Image1.Tag := 1;
Image1.Canvas.MoveTo(x,y); //画线
//如果画刷是位图,就可以绘位图,比如毛笔位图,Image1.Canvas.FillRect(Rect(x1,y1,x2,y2));
end;

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
//ready to draw
if Image1.Tag=1 then Image1.Canvas.LineTo(X,Y);
end;

procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
//end draw
Image1.Tag := 0;
end;

winder_008 2008-10-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 cncharles 的回复:]
顶一下, 下午有空写个demo给你
[/Quote]

谢谢!我的邮箱是 winder_008@126.com
cncharles 2008-10-19
  • 打赏
  • 举报
回复
顶一下, 下午有空写个demo给你
winder_008 2008-10-19
  • 打赏
  • 举报
回复
分不够可以再加!!只要能解决问题!CSDN上的Delphi高手都到那里去了!
winder_008 2008-10-17
  • 打赏
  • 举报
回复
难道说这个问题很难吗??怎么没有人回答呢!!!
fangsp 2008-10-16
  • 打赏
  • 举报
回复
OpenGL
winder_008 2008-10-16
  • 打赏
  • 举报
回复
这个我知道!我主要想实现,任意随便画,不是说光画直线!
winder_008 2008-10-16
  • 打赏
  • 举报
回复
就是一般作图!!不用矢量!!

xiaowei_001 2008-10-16
  • 打赏
  • 举报
回复
楼主小地主却忒小气!不知道你这画是不是矢量作图还是嘛?
mygodsos 2008-10-16
  • 打赏
  • 举报
回复
用GDI+,
你去http://www.cnblogs.com/del/archive/2008/06/12/1218518.html 万一博客那去看,很详细
winder_008 2008-10-16
  • 打赏
  • 举报
回复
能够说的更具体点,或者有代码示例吗??

1,184

社区成员

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

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