CImage 获取图片RGB 、图片高和宽;

 1 CImage img , img1 ,imDest;
2 img1.Load( 图片路径);
3 img.Load( 图片路径);
4 为了防止图片失真,先处理一下在把图片显示出来
5 SetStretchBltMode(pDC->m_hDC , HALFTONE);
6 SetBrushOrgEx( pDC->m_hDC , 0, 0, NULL);//第一个参数用什么dc画图就是它的m_hDC;比如\
7
8 *********************************************************************
9
10 imDest.Create( pDoc->m_wdOrigWeigh , pDoc->m_wdOrigHeih , 32 , 0 );
11 SetStretchBltMode(imDest.GetDC(), HALFTONE);//因为要用imDest来获取imDest.GetPixel();所以就填imDest.GetDC();
12 SetBrushOrgEx(imDest.GetDC(), 0, 0, NULL);
13 img1.StretchBlt(imDest.GetDC(), 0 , 0 , pDoc->m_wdOrigWeigh , pDoc->m_wdOrigHeih , 0 , 0 , nptWith , nPtHeig ,SRCCOPY );
14 ************************************************************************
15 img.Draw( pDC->GetSafeHdc() ,rt1.TopLeft().x , rt1.TopLeft().y , rt1.Width() , rt1.Height() , 0 , 0 , rt1.Width() ,rt1.Height() );
16
17 2.在内存里获取图片的RGB
18
19 GetRGB( CMapDefineView *pDefinedview ,CImage &img , int nPitWide , int nPitHeigh )//注意这里CImage &img传递的是引用,而不是对象,否则会弹出m_hDC== 0的警告
20
21 {
22 int nPtHeig = img1.GetWidth();
23 int nptWith = img1.GetHeight();
24
25 imDest.Create( pDoc->m_wdOrigWeigh , pDoc->m_wdOrigHeih , 32 , 0 );//首先要创建一个CImage,规定了图片的大小。

       HDC hdc = imDest.GetDC();//下面要用共同获取的hdc,如果每个都直接用imDest.GetDC()的话就要释放一下DC,imDest.ReleaseDC();

        SetStretchBltMode(hdc, HALFTONE
);//因为要用imDest来获取imDest.GetPixel();所以就填imDest获取的HDC
,为了防止创建的CImage里面图片失真,

        SetBrushOrgEx(hdc, 0, 0,
NULL);;//为了防止创建的CImage里面图片失真,

         imgGetRGB.StretchBlt(hdc, 0 , 0 , pDoc->m_wdOrigWeigh , pDoc->m_wdOrigHeih , 0 , 0 , nptWith , nPtHeig ,SRCCOPY );//把加载的图片按照大小贴进新创建的imDest中。其中 nptWith , nPtHeig 是图片原来的宽度和高度,pDoc->m_wdOrigWeigh , pDoc->m_wdOrigHeih 是目的高度和宽度;
29
30
31 COLORREF colr;
32 int nlen = 0;
33 BYTE *Rbuf = new BYTE[ nPtHeig * nptWith ];
34 BYTE *Gbuf = new BYTE[ nPtHeig * nptWith ];
35 BYTE *Bbuf = new BYTE[ nPtHeig * nptWith ];
36 for (int i = 0 ; i <pDoc->m_wdOrigHeigh; i ++)//注意是nPtHeig 而不是nptWith ,因为这里是一行一行的获取图片RGB
37
38 {
39
40
41
42 for ( int j = 0; j < pDoc->m_wdOrigWeigh; i ++ )
43
44
45
46 {
47 colr = imDest.GetPixel( j , i );//注意j 和i 不能交换;
48 Rbuf[ nlen ] = GetRValue( colr )
49 Gbuf[ nlen ] = GetGValue( colr )
50 Bbuf[ nlen ] = GetBValue( colr )
51 nlen ++ ;
52 }
53 }
54 }

时间: 2024-08-03 02:40:45

CImage 获取图片RGB 、图片高和宽;的相关文章

获取控件的高和宽

问题 如何获取一个控件的长和高,相信很多朋友第一眼看见这个问题都会觉得很简单,直接在onCreate里面调用getWidth.getMeasuredWidth不就可以获得了吗,但是,事实上是并没有简单的,不信的话,你可以去试一下,在onCreate里面,你是无法获得长宽值的,始终为0. 原因 这是为什么呢,其实熟悉view绘制流程的朋友应该一眼就看出来了,在onCreate中,我们的控件其实还并没有画好,换句话说,等onCreate方法执行完了,我们定义的控件才会被度量(measure),所以我

iOS学习-压缩图片(改变图片的宽高)

压缩图片,图片的大小与我们期望的宽高不一致时,我们可以将其处理为我们想要的宽高. 传入想要修改的图片,以及新的尺寸 -(UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize { // Create a graphics image context UIGraphicsBeginImageContext(newSize); // Tell the old image to draw in this new cont

手机端上传未知图片大小,js设置宽高比例

<style rel="stylesheet" type="text/css"> .lunboimg{ width: 100%; height: auto; float: left;}.lunboimg img{ width: 100%; float: left;} </style> $(function(){ var evt = "onorientationchange" in window ? "orient

ASP.NET/C#获取文章中图片的地址

前几天修改一个网站的布局的时候需要把简单的新闻列表修改为图文结合+新闻列表,不过这新闻的数据库非常简单,图片是在编辑器里面和HTML一起存入数据库中的content字段的,所以工作简化到从一个字符串里面获取图片的地址并输出.在HTML的图片标签一般如下格式所示:<img src="" alt="" title="" width="" height="" />,这就相当于编程中的一个结构体啊,里面

php获取网页中图片与DIV内容实例

分享下php获取网页中图片.DIV内容的简单方法,都是通过正则表达式实现的. 1.获取网页中所有的图片: <?php //取得指定位址的內容,并储存至 $text $text=file_get_contents('http://www.jbxue.com/'); //取得所有img标签,并储存至二维数组 $match 中 preg_match_all('/<img[^>]*>/i', $text, $match); //打印出match print_r($match); ?>

iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法

http://www.tuicool.com/articles/IfEZre 今天写demo的时候发现, 如果把通过相机获取到的图片,直接进行操作, 比如裁剪, 缩放, 则会把原图片向又旋转90度. 刚开始觉得莫名其妙, 不知所措. 后来百度了一下,找到了解决办法. ps: 查找过程中, 碰到了一种说法: //get original photo from iOS photos //如果该图片大于2M,会自动旋转90度:否则不旋转 UIImage* originalImg=[dict objec

magento获取商品的图片

获取商品的图片主要从catalog_product_entity_media_gallery 表中 该表中各列的属性代表 value_id:记录 ID,可以留空让数据库自动生成. attribute_id:media_gallery 的 attribute_id. entity_id:产品 ID. value:文件存放位置信息(略去 /media/catalog/product 部分). 参考博文: http://blog.goods-pro.com/2294/manage-gallery-im

iOS:获取图片Alpha图片

-(void)createImages { // Load the alpha image, which is just the same Ship.png image used in the clipping demo NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"Ship.png" ofType:nil]; UIImage *img = [UIImage imageWithContentsOfFile:

js获取网页屏高 屏宽

<SCRIPT LANGUAGE="JavaScript"> <!-- //document.body.scrollTop 滚动条的上端距离 //document.body.scrollLeft 滚动条的左端距离 window.onload = function() { var s = ""; s += " 网页可见区域宽:"+ document.body.clientWidth; s += " 网页可见区域高:&qu