关于图片(100分)

  • 主题发起人 主题发起人 carp2000
  • 开始时间 开始时间
C

carp2000

Unregistered / Unconfirmed
GUEST, unregistred user!
请问各位大侠:
各种图片文件内的格式一样的吗?
如何用指针去指向它的数据区(最好附上Delphi例子)
 
各种图片文件的格式几乎都不一样,而且图片文件中的数据的压缩算法也不一样。
同一种类型图片的压缩算法也不一样。
你最好找有关图形图像的书看一看,你的问题无法用几句话解决的。
 
各种图片文件内的格式一样的吗? 肯定不一样

如何用指针去指向它的数据区(最好附上Delphi例子)?
一般是将各种数据统一转换为Tbitmap格式来处理

 
这里是一个老外的图象处理站点,你可以经常光顾:

www.efg2.com
 
肯定不一样,同样的一副图,*。jpg和*。bmp相差太多了。
至于“如何用指针去指向它的数据区(最好附上Delphi例子)”
不太明白
 
我自己也看了TBitmap这个类,它封装的比较好,没有留出接口。
那有没有可能让指针去操作呢?(因为比较快)
除了从底层开始写,还有什么好方法吗?
 
图形文件一般都是由文件头和图形数据文件组成的。如果你要用指针,就把图形读到
内存里,然后根据不同的图形指象相应的数据区。如BMP的图,他的数据区好象从底53个
字节开始。
 
[:D][blue]
你想要快就要用vc吖
你用delphi的话,画图还得借助TBitmap
你当然也可用api函数,
但那还不如用vc呢
当然啦你要delphi快速生成ui,图像处理
自己控制,显示用api也可以,vc快速绘图
也是直接用api嘛
嘿嘿
delphi是个好东东!
:)
(注意 以上是我自己的想法,不知对不对
有问题,我可不负责任的吖)



[/blue]
 
[:D][blue]GraphicEx这个库是free的
有源码,只是tiff格式gif格式
是不可保存的
(注意 以上是我自己的想法,不知对不对
有问题,我可不负责任的吖)[/blue]
 
先谢谢各位的解答,
因为小弟是个新手,对指针的操作和图形的结构不是很了解。
我听说可以取出BID颜色数组,然后再用指针操作。
由于小弟的水平有限,请各位大侠指教
 
建议你去看看关于windows图象编程方面的书,这些东西不是几句话就可以说清楚的。
 
谢谢各位的提示
我自己会多学习学习的
当然如果有什么现成的东东
请各位多多指教
 
有一个24位真彩色图像的例子,
procedure button1click(sender:tobject)
var
bmp:TBitmap;
i,j:integer;
line:pbytearray;
begin
bmp:=image1.picture.bitmap;
bmp.pixelformat:=pf24bit; //24bit bitmap;
bmp.height:=256;
bmp.width:=256;
for i:=0 to bmp.height-1 do
begin
line:=pbytearray(bmp.scanline); //取出图像每行的颜色数组(指针)
for j:=0 to bmp.height-1 do
begin
line[j*3]:=j; //代表rgb三原色中的r(红色)
line[j*3+1]:=i*j mod 255;//代表rgb三原色中的g(绿色)
line[j*3+2]:=i;//代表rgb三原色中的b(蓝色)
end;
image1.invalidate;//刷新
end;
end;
生成的图形很漂亮的,呵呵,利用这个方法还可以做出像电影一样的图像渐隐效果。
 
谢谢cgzhang的帖子
我知道SCANLINE的用法
问题基本解决
谢谢大家的关心
 
谢谢卷起千堆雪tyn
你推荐的网站不错
[8D]
 
后退
顶部