登录
首页 » VC++源码 » VC++ 6.0 使用IPicture读取显示多种格式的图像(图片)并缩放

VC++ 6.0 使用IPicture读取显示多种格式的图像(图片)并缩放

于 2022-07-21 发布 文件大小:21.28 kB
0 237
下载积分: 2 下载次数: 1

代码说明:

VC++ 6.0 使用IPicture显示多种格式的图片,并可进行图片的放大和缩小等缩放操作,本实例中从全局内存中,创建IStream,从图像文件创建IPicture对象,读文件数据到内存。支持的文件类型有:bmp;*.gif;*.jpg;*.ico;*.emf;*.wmf;获取图像的长度和宽度代码如下:   long hmWidth;   long hmHeight;   m_lPciture->get_Width(&hmWidth);//图像的长度   m_lPciture->get_Height(&hmHeight);//图像的宽度   SIZE sz;   sz.cx = hmWidth;   sz.cy = hmHeight;   pDC->HIMETRICtoDP (&sz);//从OLE对象尺寸转换为像素值   sz.cx = (sz.cx * m_nScale) / 100;   sz.cy = (sz.cy * m_nScale) / 100;   RECT rc;   GetClientRect(&rc);   SetScrollSizes(MM_TEXT, sz);//设置滚动窗口的尺寸   // 显示图像   m_lPciture->Render(pDC->m_hDC,    0, //水平坐标位置    0, //垂直坐标位置    sz.cx, //水平尺寸    sz.cy, //垂直尺寸    0, //源图像的水平偏移    hmHeight,//源图像的垂直偏移    hmWidth,//复制源图像的水平长度    -hmHeight,//复制源图像的垂直长度    &rc);//显示图像的矩形区域

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC++ 创建生成大文件
    VC创建大文件的例子,这个例子是VC++源码实例,面向VC++6.0运行环境。测试时注意生成的路径,要重新 设置一下,生成文件 不是问题,但生成大文件 往往会导致一系列问题,这个源码的实例向大家介绍如何避免出现这些问题。   // 处理出错信息   //获得信息   LPVOID lpMsgBuf; //Windows will allocate   ::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,0,    GetLastError(),MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), //默认语言    (LPTSTR)&lpMsgBuf, 0, NULL );   //显示   ::MessageBox(0, (LPCTSTR)lpMsgBuf, _T("GetLastError"), MB_OK|MB_ICONINFORMATION );   //lpMsgBuf中是你要的错误提示.   //释放内存   ::LocalFree( lpMsgBuf );   return;
    2022-02-26 16:50:15下载
    积分:1
  • VC 随机数选号程序
    VC 随机数选号程序 源代码,窗口中的每一个文本框对应一个随机数数组,当点击开始按钮后,这些数组各自为战,分别生成不同的随机数,当用户点击停止后,各个文本框中的随机数是不同的,由此可生成一个随机选号程序。   你可学习到生成随机数的线程、更新编辑框数字的线程、生成随机数、开始选号、更新按钮状态等相关的事件处理操作。
    2022-03-12 18:31:14下载
    积分:1
  • VC 向加密狗中写入数据
    VC 向加密狗中写入数据,与加密狗相关的例子。   DogAddr = 10; //设置起始地址   DogBytes = m_Data.GetLength(); //设置数据的长度   DogData = m_Data.GetBuffer(0); //设置写入的数据   if (WriteDog()==0)   MessageBox("数据写入成功");
    2022-07-14 23:43:14下载
    积分:1
  • VC++使用标签控件创建TAB标签页
    VC++使用标签控件创建标签页,向大家展示VC++中基本标签控件的使用方法。如效果图所示的标签窗口,一共是创建了两个标签,单击后可切换对应的内容,在WEB开发中,这种TAB功能也有很普遍的应用。你可参考如下对TAB标签的定义:   TC_ITEM tcItem;//标签结构   tcItem.mask=TCIF_TEXT;   tcItem.pszText="标签1";   m_ctlTab.InsertItem(0,&tcItem);//添加Tab标签页   tcItem.pszText="标签2";   m_ctlTab.InsertItem(1,&tcItem);//添加Tab标签页   m_ctlTab.SetCurSel(0);//设置Tab标签1为选中状态   GetDlgItem(IDC_STATIC1)->ShowWindow(TRUE);   GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);//隐藏静态控件2   GetDlgItem(IDC_BUTTON1)->ShowWindow(TRUE);   GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_HIDE);//隐藏按钮控件2   CRect rect1,rect2;   GetClientRect(rect1);   GetDlgItem(IDC_STATIC1)->GetClientRect(rect2);   GetDlgItem(IDC_STATIC1)->MoveWindow((rect1.left+50),(rect1.top+80),rect2.Width(),rect2.Height());//移动静态控件1   GetDlgItem(IDC_BUTTON1)->GetClientRect(rect2);   GetDlgItem(IDC_BUTTON1)->MoveWindow((rect1.left+80),(rect1.top+120),rect2.Width(),rect2.Height());//移动按钮控件1
    2022-03-29 18:20:27下载
    积分:1
  • VC++ 调用 windows 字体、打印、调色板等对话框示例
    VC++ 调用 windows 字体、打英调色板、搜索、替换、保存、颜色、页面设置、打印设置、打开等常用对话框窗口示例,这些对话框也可以在控制面板中打开,主要是VC++与调用Windows相关模块相关的一个程序示例,有助于了解与windows编程的相关技巧。
    2022-03-24 00:23:54下载
    积分:1
  • VC++ 6.0 演示如何获取打印份数
    VC++ 6.0 演示如何获取打印份数,这个功能在平时的打印操作中,几乎每次都要设置一下,要不然打印机按打印一份处理,本程序可设置打印份数,将参数传递给打印机,一次可打印多份文档,代码超简单,有兴趣下载源码学习。
    2022-03-24 22:43:51下载
    积分:1
  • VC++ 查询数据库中指定时间段内的数据
    VC++ 查询数据库中指定时间段内的数据,为了避免时间段的输入格式出错,这里使用了日期选择器控件,用户可通过日期控件来选择起止时间,查询结果显示在DateGirdview控件中。本功能顺利测试需要自行配置数据库,最终运行效果请参见截图。
    2023-03-19 16:35:03下载
    积分:1
  • VC 6.0 示波器
    一个漂亮的VC++示波器生成类附源码实例,美观实用,如果你在编写一款采样软件,那么这个示例或许对你很有用,另附上一个示例代码,希望对大家有所帮助。该类提供了一些方法可供调用,比较方便。如果要显示采集到的数据,只要简单的调用就可以了。
    2022-10-20 06:05:04下载
    积分:1
  • VC++ 音乐播放器
    VC++ 音乐播放器 例子,支持播放列表 ,支持常规的播放控制,自制了界面,从这个播放器软件中,你可以学习到软件界面方面的编写技巧以及音乐播放方面的技巧,运行效果如下图所示。本源码对学习VC++软件编程有很好的借鉴作用。
    2022-05-20 10:54:09下载
    积分:1
  • VC 多种进制转换 二进制 十六进制等
    VC++ 进制转换,可完成以下转换:转换十进制数,转换二进制数,转换十六进制数,转换十六进制为二进制,转换一位十六进制数为十进制,转换二进制为十六进制,位数不是四的倍数时补齐,每四位二进制数转换为一十六进制数,转换十进制为二进制,转换二进制为十进制等。
    2022-01-25 23:55:04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载