怎么得到Timage的picturebox属性.Data属性,回复内容

> TImage-&Picture-&Bitmap-&LoadFromStream怎
TImage-&Picture-&Bitmap-&LoadFromStream怎
ljhusthust & &
发布时间: & &
浏览:41 & &
回复:1 & &
悬赏:0.0希赛币
TImage-&Picture-&Bitmap-&LoadFromStream怎么没有效果?TImage-&Picture-&Bitmap-&LoadFromStream怎么没有效果?
我写了个测试程序,有两个Image控件Image1,&Image2.
TMemoryStream&msS
msStream&=&new&TMemoryStream();
//在Image1里画图
Image1-&Canvas-&TextOutA(10,&10,&"画图");
Image1-&Canvas-&Pen-&Color&=&clR
Image1-&Canvas-&Ellipse(50,&50,&200,&200);
然后将图保存到内存流中
Image1-&Picture-&Bitmap-&SaveToStream(msStream);
我想在Image2中显示与Image1一样的
Image2-&Picture-&Bitmap-&LoadFromStream(msStream);
没反应,怎么回事?
如果我通过文件的保存和运载是可以成功的
Image1-&Picture-&Bitmap-&SaveToFile("aaa.bmp");
Image2-&Picture-&Bitmap-&LoadFromFile("aaa.bmp");
为什么用内存流就不能成功?
  msStream-&Seek(0,soFromBeginning);//加上这句话
Image2-&Picture-&Bitmap-&LoadFromStream(msStream);ljiandragon & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&湘教QS2-164&&增值电信业务经营许可证湘B2-Timage控件的有关问题吗
&来源:读书人网&【读书人网():综合教育门户网站】
Timage控件的问题吗?int__stdcall demo_HD_RECV_CALLBACK(LPARAM lParam, int count){try{char szt[_MAX_P
Timage控件的问题吗?int
__stdcall demo_HD_RECV_CALLBACK(LPARAM lParam, int count){ & try & {char szt[_MAX_PATH] = &&;HD_INFO IHD_RESULT_1 Rif (HD_GetHeadInfo(&Info)==0 ){if (Info.cbResult){//HD_RESULT_1是处理车头和车尾的情况的结果 try {if (HD_GetHeadData(HD_DATA_TYPE_RESULT_1, (LPBYTE)&Result, sizeof(Result)) & 0){
Stringsz = Trim(Result.szLicense);if(sz==&无牌/拒识&)sz=&&;if(Info.nChannel==MainFrm-&Lane1ID)
MainFrm-&Plate1Edt-&Text=// Result.szLelse
MainFrm-&Plate2Edt-&Text=// Result.szL} } catch(...) { //ShowMessage(&1&); &
}}if (Info.cbImageFile & 0)//缓冲区{}else if (Info.cbImageFile == -1)//文件名{
if (HD_GetHeadData(HD_DATA_TYPE_IMAGE, (LPBYTE)szt, _MAX_PATH) & 0)
{if (FileExists(szt)){Sleep(30);if(Info.nChannel==MainFrm-&Lane1ID){MainFrm-&Pic12Str=String(szt);MainFrm-&Image12-&Picture-&LoadFromFile(szt);}else{
MainFrm-&Pic22Str=String(szt);
MainFrm-&Image22-&Picture-&LoadFromFile(szt);}}
catch(...)
//ShowMessage(&2&);
}}if (Info.cbBackFile & 0)//缓冲区{}else if (Info.cbBackFile == -1)//文件名{
{if (HD_GetHeadData(HD_DATA_TYPE_BACK_PICTURE, (LPBYTE)szt, _MAX_PATH) & 0){if (FileExists(szt)){Sleep(20);if(Info.nChannel==MainFrm-&Lane1ID){MainFrm-&Image11-&Picture-&LoadFromFile(szt);MainFrm-&Pic11Str=String(szt);}else{MainFrm-&Image21-&Picture-&LoadFromFile(szt);MainFrm-&Pic21Str=String(szt);}}}} catch(...)
//ShowMessage(&3&);
}}if (Info.cbBinFile & 0)//缓冲区{}else if (Info.cbBinFile == -1)//文件名{if (HD_GetHeadData(HD_DATA_TYPE_BIN, (LPBYTE)szt, _MAX_PATH) & 0){if (FileExists(szt)){}}}if (Info.cbFrontFile & 0)//缓冲区{}else if (Info.cbFrontFile == -1)//文件名{
{if (HD_GetHeadData(HD_DATA_TYPE_FRONT_PICTURE, (LPBYTE)szt, _MAX_PATH) & 0){if (FileExists(szt)){//Sleep(20);if(Info.nChannel==MainFrm-&Lane1ID){//MainFrm-&Image11-&Picture-&LoadFromFile(szt);//MainFrm-&Pic11Str=String(szt);}else{// MainFrm-&Image21-&Picture-&LoadFromFile(szt);// MainFrm-&Pic21Str=String(szt);}}
}} catch(...)
//ShowMessage(&4&);
}}} & } & catch(...) & { //ShowMessage(&5&); & }return 0;}这个函数是一直被循环调用的,如果里面加sleep(20);程序一天不会弹出一个错误,时间长了也会粗错如果延时小于10毫秒,就会经常弹出错误了,错误提示如下:Access violation at address 005A08e6 in module'bjhighspeedsys.exe'.Write of address 04d23c82,不知道是什么原因啊???MainFrm-&Image11-&Picture-&LoadFromFile(szt);
难道不能连续执行这句吗?间隔多长时间才行啊?[解决办法]先清空了再 Load试试[解决办法]这个问题前段好像有人提过,在BCB中这种问题经常发生,可能的原因是你的由于系统其它进程占有CPU时间过长(或读写硬盘时间过长),导致LoadFromFile时间过长,上一个没完成,下一个又执行而出现异常目前能想到的解决方案就是加Sleep(),我在我的工控程序中经常加Sleep,加入的时间由经验来定(多测试)另外可行的解决方案1.减少系统中的应用2.提高硬件配制3.升级BCB(BCB5的出错概率要比6大,BCB6的话打update4,或升成更高的版本)[解决办法]首先图片不宜过大然后先清空一下MainFrm-&Image11-&Picture =NULL适当的Sleep()[解决办法]学习![解决办法]你是不是在线程中调用该函数呀?我觉得有可能是
TImage 的内存管理问题引起的我认为最简单的办法就是每次 new/delete 一个 TImage 对象[解决办法]清空一下再Load试试image 控件介绍_百度知道
image 控件介绍
image 控件介绍
提问者采纳
美化界面,显示的图像由Picture 属性指定.LoadFromFile()方法进行调入。TImage 组件经常和TPanel 组件结合使用:Image1,例如打开图片的方法,主要功能是显示图像。2.TImage 组件的重要属性·AutoSize 如果此属性设置为True,TImage 组件将自动调整尺寸.;如果TImage 组件已经将图像全部显示,在设置此属性时.,以适应图像的大小·Canvas 此属性返回图像的画布,是本组件重要的属性,图像的尺寸将自动调整并且总是撑满整个TImage 组件·Transparent 如果此属性设为True,TImage 组件的尺寸不变,并使TImage 组件显示全部图像,将在后面的章节中详细介绍·Center 如果此属性设置为T保存图像的方法..Picture.Picture,图像将居中显示·Picture 用于指定TImage 组件上要显示的图像·Proportional 如果此属性设置为True,图像的尺寸将按原来长宽的比例自动调整·Stretch 如果此属性设置为True。透过图像的空白处可以看到TImage 组件所在的背景,图像的一部分将被裁剪:String),图像将按比例进行缩放。(4)Stretch 属性此属性设置为True 值时。利用Picture。(5)Transparent 属性如果此属性设为True。(1)AutoSize 属性如果此属性设为True,只是将图像填充整个TImage 组件,可以利用Picture 属性进行指定,以适应图像的大小,也可以在程序中用Picture,以TPanel 组件的边框来划分TImage 组件的边界。(2)Picture 属性此属性用来指定TImage 组件上要显示的图像:String)、ICO等.,将图像按原来的长宽比例进行调整.”按钮打开“Picture Editor”对话框图像组件(TImage)要在窗口上显示一个图像,如果TImage 组件不能够完全显示图像,图像的格式可以是JPG,需要把TImage 组件加到Form 上,图像为透明的下面介绍程序中TImage 组件常用的属性,然后单击“Load.”按钮调入图像文件.LoadFromFile(const Filename,TImage 组件将自动调整尺寸。这个属性只适合用于图像是BMP 格式的情况;(3)Proportional 属性此属性设置为True 值时。如果此属性设为False.SaveToFile(const Filename。1.TImage 组件的典型用法TImage 组件的的使用。可以单击Picture 属性右侧的“,图像就是透明的。Picture 属性下还包含多个方法。当图像的尺寸大于TImage 组件的尺寸时.SaveToFile()方法可以将TImage 组件的当前显示内容保存为一个图像文件,不管图像的大小与长度的比较、BMP,图像大小将不发生变化:Image1。在Image 组件调用图片时
提问者评价
其他类似问题
为您推荐:
您可能关注的推广
delphi的相关知识
其他1条回答
这个和MFC差不多
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 vb picture属性 的文章

 

随机推荐