L LHA Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-11 #21 to YB_unique : 唉,看来也只好自己看E文Help了,你上面贴的我都看过。
Y YB_unique Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-11 #22 TO LHA: 呵呵!叹什么气?说出来听听!又是一个失意人??? DFW都快变成个人宣泄的场所了,我都不大想来了!
L LHA Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-11 #23 to YB_unique: 你去看看这个 :http://www.delphibbs.com/delphibbs/dispq.asp?lid=713541
Y YB_unique Unregistered / Unconfirmed GUEST, unregistred user! 2001-11-11 #24 心病还需心药医,解铃还需系铃人。 你是聪明的,应该会懂!
S szchengyu Unregistered / Unconfirmed GUEST, unregistred user! 2002-01-28 #25 YB_unique: function DitherPixel(ABmp.Canvas.Pixels(Row, Col) : TColor) : TColor; 是什么语法呀
S sw7309 Unregistered / Unconfirmed GUEST, unregistred user! 2002-05-17 #26 下面是一个效率更高的算法: 1建立一个32768个元素的一个数组a[],有的15位颜色序号,元素初始值全为0 2取每一个点的颜色的高5位,按BGR的顺序组成一个15位的整数,假定是b,则a:=a+1, 3判断所有点在红、蓝、绿分量上的最大距离,即颜色分量的差的最大值,假定红色距离最大 4将所有颜色按红分量排序,循环从最小的红分量开始,求点的数量和,如果刚超过点数量的一半中止循环,这样就把所有的点分成了两半 5分别对两半求三个颜色分量上的最大距离,按最大距离的颜色分量排序,再循环求刚将各自点分成两半的颜色分量值 6重复进行,直到把所有的点分成256个部分为止,求每个部分的加权平均 7对所有的点的颜色值按所处部分的序号代替 整个算法的思想就是将包含所有点的外接长方体(三条棱就是三种颜色)按最大棱在中点分割 然后对分割后的两个长方体按上述思想重复进行 算法大量的是加法,速度很快,效果也很好,相对用4096种颜色包含的信息更多
下面是一个效率更高的算法: 1建立一个32768个元素的一个数组a[],有的15位颜色序号,元素初始值全为0 2取每一个点的颜色的高5位,按BGR的顺序组成一个15位的整数,假定是b,则a:=a+1, 3判断所有点在红、蓝、绿分量上的最大距离,即颜色分量的差的最大值,假定红色距离最大 4将所有颜色按红分量排序,循环从最小的红分量开始,求点的数量和,如果刚超过点数量的一半中止循环,这样就把所有的点分成了两半 5分别对两半求三个颜色分量上的最大距离,按最大距离的颜色分量排序,再循环求刚将各自点分成两半的颜色分量值 6重复进行,直到把所有的点分成256个部分为止,求每个部分的加权平均 7对所有的点的颜色值按所处部分的序号代替 整个算法的思想就是将包含所有点的外接长方体(三条棱就是三种颜色)按最大棱在中点分割 然后对分割后的两个长方体按上述思想重复进行 算法大量的是加法,速度很快,效果也很好,相对用4096种颜色包含的信息更多
D delphilxh Unregistered / Unconfirmed GUEST, unregistred user! 2004-02-05 #27 这么麻烦吗? var b1,b2:TbitMap; Begin b1:=TBitMap.create; b2:=TbitMap.create; b1.loadformfile('c:/1.bmp'); b2.width:=b1.width; b2.height:=b1.height; b2.PixelFormat:=pf8bit; b2.canvas.draw(0,0,b1); b2.savetofile('c:/2.bmp');//这就是转换后的图片了 End;
这么麻烦吗? var b1,b2:TbitMap; Begin b1:=TBitMap.create; b2:=TbitMap.create; b1.loadformfile('c:/1.bmp'); b2.width:=b1.width; b2.height:=b1.height; b2.PixelFormat:=pf8bit; b2.canvas.draw(0,0,b1); b2.savetofile('c:/2.bmp');//这就是转换后的图片了 End;