给结构体成员赋值不成功

ECHOOY 2011-05-26 10:15:20
typedef struct {
unsigned char R;
unsigned char G;
unsigned char B;
} DmtxPixel;

typedef struct {
unsigned int width;
unsigned int height;
DmtxPixel *pxl;
} DmtxImage;

DmtxImage image;

for (int i=0;i<image.height*image.width;i++)
{
if ( *(Imagedata+i) )
{
image.pxl->R=255;
image.pxl->G=255;
image.pxl->B=255;
}
else
{
image.pxl->R=0;
image.pxl->G=0;
image.pxl->B=0;
}
}
下面这个循环在执行的时候,第一次进入,程序就一直在运行不知道跑到哪去了,请大家帮忙看看!
现在没银子了,对不起了!
...全文
584 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ECHOOY 2011-05-27
  • 打赏
  • 举报
回复
image.heiht*image.width是图像像素总数,Imagedata 是我之前的bmp格式的灰度图的图像数据,其实我这个就是想根据源图像的每一个像素值来生成RGB三个分量。
taotaoma456 2011-05-26
  • 打赏
  • 举报
回复
for (int i=0;i<image.height*image.width;i++)
image.height*image.width等于多少呢?

还有*(Imagedata+i) 中的Imagedata又是什么呐
Eleven 2011-05-26
  • 打赏
  • 举报
回复
DmtxImage image;
这里这个DmtxImage结构体的这个成员 DmtxPixel *pxl;
你并没有给他分配空间,你就直接给他做了下面的操作了
image.pxl->R=255;
image.pxl->G=255;
image.pxl->B=255;

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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