VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 643|回复: 3

[求助] dib位图像素点问题

[复制链接]
41_avatar_middle
在线会员 发表于 2017-4-12 17:07:25 | 显示全部楼层 |阅读模式
3驿站币
// 计算图像每行的字节数
                lLineBytes = (((wide * 8) + 31) / 32 * 4);
                // 暂时分配内存,以保存新图像
                temp = new BYTE[lLineBytes*height];
                // 初始化新分配的内存,设定初始值为255 (白色)
                lpDst = (LPBYTE)temp;
                memset(lpDst, (BYTE)255, lLineBytes * height);
                // 每行
                for (i = 0; i < wide; i++)
                {
                        // 每列
                        for (j = 0; j < height; j++)
                        {
                                // 计算该象素在源DIB中的坐标  位图是从左下角开始扫描(左向右 下向上)
                                lpSrc = (LPBYTE)p_data + lLineBytes * (height - 1 - j) + i;
                                int i0, j0;
                                // 计算该象素在新DIB中的坐标
                                i0 = i + m_xMove;
                                j0 = j + m_yMove;
                                // 判断是否在新图范围内
                                if ((i0 >= 0) && (i0 < wide) && (j0 >= 0) && (j0 < height))
                                {
                                        lpDst = (LPBYTE)temp + lLineBytes *(height - 1 - j0) + i0;
                                        // 复制象素
                                        *lpDst = *lpSrc;
                                }
                                else
                                {
                                        // 对于源图中没有的象素,直接赋值为255
                                        *((unsigned char*)lpDst) = 255;
                                }
                        }
                }
                // 复制平移后的图像
                memcpy(p_data, temp, lLineBytes * height);
                // 释放内存
                delete temp;
        }





上一篇:数据库班
下一篇:mfc 单文档程序如何使用edit控件,static控件
41_avatar_middle
ico_lz  楼主| 发表于 2017-4-12 17:07:59 | 显示全部楼层
加深的部分 不太明白  求大神解释
49_avatar_middle
online_vip 发表于 2017-4-13 16:45:07 | 显示全部楼层
看不懂呀,这种直接拿像素点来操作图像的东西貌似不好看
47_avatar_middle
在线会员 发表于 2017-5-7 21:37:55 | 显示全部楼层
初始化一张 空白的 BIT数据 然后将另一张 符合范围的 像素 复制到空白(255)的bit数据 如果 方便的话 楼主提供一下完整的源码  方便解释
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-9-21 07:51

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表