如何把bitmap类型图片数据 存到 pchar类型变量中?

jinzihan_005 2008-10-29 05:10:09

procedure TForm1.Play;
var
Bmp: TBitmap;
pData: pChar;
begin
bmp:=TBitmap.Create;
bmp:=image1.Picture.Bitmap;

end;

请问如何把上面的BMP变量的图形数据 存到 pChar变量类型pData的变量中去?好头疼,弄了几天没有结果,郁闷。

还有bmp变量的缓冲区大小怎么获得,是简单的bmp.Width*bmp.Height吗?

请高手指点!!深表感谢
...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
散乱心绪 2008-10-30
  • 打赏
  • 举报
回复
2楼的方法是对的,不过一般情况还是不需要用这个来存吧,用pointer更通用些,pchar一般是需要做内存逐位操作时才需要用到。
jinzihan_005 2008-10-30
  • 打赏
  • 举报
回复
谢谢 lake_cx的热心答复,我先试试,同时也希望大家都来看看,有没有其他的方法吗?都可以共同探讨一下。
lake_cx 2008-10-29
  • 打赏
  • 举报
回复
var
ms: TMemoryStream;
pData: pChar;
begin
ms := TMemoryStream.Create;
image1.Picture.Bitmap.SaveToStream(ms);
pData := ms.Memory;
end;


ms.Size是缓冲区大小,如果ms.Free掉了,那么这个缓冲区也就没了,所以你可以等到图像数据用完了后在释放ms

1,183

社区成员

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

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