如何擦除在背景上画的线?(10分)

  • 主题发起人 主题发起人 dazzling
  • 开始时间 开始时间
D

dazzling

Unregistered / Unconfirmed
GUEST, unregistred user!
即是说用LINE划条线后再删除它,但不会改变线后面的象素,怎么办?
 
用背景颜色重画一次,不就没有了吗
 
我就这个问题写了一篇论文三种方法:
1、背景色重画
2、异或
3、用控件tchart 或tdbchart,很爽
 
你的论文在哪?
可否赐俺一观?
 
用背景颜色重画....
当背景是一幅图片的时候,不行

异或....
你画的时候也必须用异或,当背景是一幅图片的时候,
Line画的线就不是一种颜色,而是背景的反色

画之前先保存画布的像素,如果要删除,就恢复最近保存的,
就跟Undo一样,管理一个栈,可以设定可以Undo几次的
 
就是画笔模式设置成为pmxor就可以了,
很基本的东西,很多资料都有介绍
 
在上面再放个image,在上面画
 
IMAGE一画背景就变白了,怎么都透明不了
 
IMAGE一画背景就变白了,怎么都透明不了

谁说的?留个邮箱,我给你个我写的程序
 
用两次异或,或者两次同或即可
 
to:5个啊:
我的邮箱topduan@etang.com
确实不行,教我一下吧
 
呵呵,画线背景变白是吧,image有个transparent属性,设为true就行了
 
只要在画的时候设置Canvas.Pen.Mode := pmNotXor;
这样画第二次就把第一次的线擦掉了。
否则Canvas.Pen.Mode := pmCopy;
 
TO:啊啊啊啊啊:
老大,如果那个transparent有用的话我还来这里问啊~~~~~



TO:yostgxf,
现在的问题是想画线时让底层的IMAGE图象皆可见.有好的建议吗?
 
怎么会没用?我试过的,可以啊

实在不行,你就清屏Image1.Canvas.FillRect(rect(0,0,Image1.Width,Image1.Height));
,然后再画
 
实在不行的话,通过象素平滑处理(计算所画的线和周围环境的差异,然后可以平滑弱化线条,
运气好的话,可以完全处理掉
 
to:5个啊:
我的邮箱 song.zhao@ckg.com.mo
我也看看
 
后退
顶部