StretchBlt和StretchDIBits】的更多相关文章

StretchBlt:从源矩形中复制一个位图到目标矩形,必要时按目标设备设置的模式进行图像的拉伸或压缩,如果目标设备是窗口DC,则意味着在窗口绘制位图,大致的使用代码如下: void DrawImage(HDC hdc, HBITMAP hbm, const RECT target_rect) { HDC hdcMemory = ::CreateCompatibleDC(hdc); HBITMAP old_bmp = (HBITMAP)::SelectObject(hdcMemory, hbm)…
我的天哪,上一篇博文是2年前的事情了.看来又虚度了2年光阴,继续学习... 本文算是副产品,正品是利用FFmpeg从任意视频中生成GIF片段的小程序,等写完了再发.不为别的,只是为了给儿子做动图,且看不惯这种工具也要收费! 声明 本文是首先看到了求比Stretchblt方法更快的缩放算法的帖子,请参看其中署名为"张辉明"的回复.我做了优化和一些修正,但DrawDibDraw部分的调用是原文照录的.(其实上文就是我Bing了DrawDibDraw时搜到的.) 为什么要测试 Stretch…
所有Windows API函数列表,为了方便查询,也为了大家查找,所以整理一下贡献出来了. 帮助手册:700多个Windows API的函数手册 免费下载 API之网络函数 API之消息函数 API之文件处理函数 API之打印函数 API之文本和字体函数 API之菜单函数 API之位图.图标和光栅运算函数 API之绘图函数 API之设备场景函数 API之硬件与系统函数 API之进程和线程函数 API之控件与消息函数 1. API之网络函数 WNetAddConnection 创建同一个网络资源的…
1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconne…
一.隐藏和显示光标 函数: int ShowCursor ( BOOL bShow );  参数 bshow,为布尔型,bShow的值为False时隐藏光标,为True时显示光标:该函数的返回值为整型,为鼠标隐藏或显示的指数器:返回值大于等于0时显示光标,否则隐藏鼠标:如果安装了鼠标初值为0. 二.交换鼠标左右键和恢复 函数:BOOL SwapMouseButton ( BOOL fSwap );  参数 fSwap,为布尔型,TRUE表示交换鼠标左右键,FALSE表示恢复系统默认左右手习惯:返…
获取当前执行路径:getcwd1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的…
input { font-size: 14px; height: 26px } td { border-style: none; border-color: inherit; border-width: medium; padding-top: 1px; padding-right: 1px; padding-left: 1px; color: black; font-size: 11.0pt; font-weight: 400; font-style: normal; text-decorat…
儿子经常要把自拍的视频(ts格式)转成表情包,下载了几个工具都不大好用,更多的还要收费.那就想自己写一个吧,没想到这一下断断续续地,居然 3 个月过去了.现在总算弄出个作品来了,结个贴吧.唉,天资愚钝啊! 基本需求 能解码绝大部分视频格式: 能逐帧查看视频画面,并选择视频片段: 能框选画面中的某个区域: 对选中的视频片段.区域截图,生成 GIF 图片: GIF 图片能预览和保存为文件. 设计思路 界面 界面由 3 部分组成,自上而下分别是:视频播放区(TPanel).控制区(TTrackBar…
WindowsAPI函数大全(精心总结)    目录 1. API之网络函数... 1 2. API之消息函数... 1 3. API之文件处理函数... 2 4. API之打印函数... 5 5. API之文本和字体函数... 7 6. API之菜单函数... 8 7. API之位图.图标和光栅运算函数... 9 8. API之绘图函数... 10 9. API之设备场景函数... 12 10. API之硬件与系统函数... 14 11. API之进程和线程函数... 17 12. API之控…
操作系统除了协调应用程序的执行.内存分配.系统资源管理外,同时也是一个很大的服务中心,调用这个服务中心的各种服务(每一种服务是一个函数),可以帮肋应用程序达到开启视窗.描绘图形.使用周边设备的目的,由于这些函数服务的对象是应用程序(Application),所以称之为Application Programming Interface,简称API函数.作为一个编程初学者来说,API函数也许是一个时常耳闻却感觉有些神秘的东西.单看它复杂的语法,就足令人望而生畏,但是任何事物在我们深入了解它之前,总是…
7. API之位图.图标和光栅运算函数 BitBlt 将一幅位图从一个设备场景复制到另一个 CopyIcon 制作指定图标或鼠标指针的一个副本.这个副本从属于发出调用的应用程序 CopyImage 复制位图.图标或指针,同时在复制过程中进行一些转换工作 CreateBitmap 按照规定的格式创建一幅与设备有关位图 CreateBitmapIndirect 创建一幅与设备有关位图 CreateCompatibleBitmap 创建一幅与设备有关位图,它与指定的设备场景兼容 CreateCurso…
Windows API函数大全,从事软件开发的朋友可以参考下 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个…
WindowsAPI函数大全(精心总结) 目录 1. API之网络函数... 1 2. API之消息函数... 1 3. API之文件处理函数... 2 4. API之打印函数... 5 5. API之文本和字体函数... 7 6. API之菜单函数... 8 7. API之位图.图标和光栅运算函数... 9 8. API之绘图函数... 10 9. API之设备场景函数... 12 10. API之硬件与系统函数... 14 11. API之进程和线程函数... 17 12. API之控件与消…
常用Windows API1. API之网络函数WNetAddConnection 创建同一个网络资源的永久性连接WNetAddConnection2 创建同一个网络资源的连接WNetAddConnection3 创建同一个网络资源的连接WNetCancelConnection 结束一个网络连接WNetCancelConnection2 结束一个网络连接WNetCloseEnum 结束一次枚举操作WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接WNetDis…
Windows API函数大全,从事软件开发的朋友可以参考下 1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个…
1. API之网络函数 WNetAddConnection 创建同一个网络资源的永久性连接 WNetAddConnection2 创建同一个网络资源的连接 WNetAddConnection3 创建同一个网络资源的连接 WNetCancelConnection 结束一个网络连接 WNetCancelConnection2 结束一个网络连接 WNetCloseEnum 结束一次枚举操作 WNetConnectionDialog 启动一个标准对话框,以便建立同网络资源的连接 WNetDisconne…
经过我整理的,去掉了A和W的重复.虽然没写注释,但以后要一个一个研究.有这些WINAPI就够用了. kernel32 = 'kernel32.dll'; gdi32 = 'gdi32.dll'; user32 = 'user32.dll'; advapi32 = 'advapi32.dll'; mpr = 'mpr.dll'; version = 'version.dll'; comctl32 = 'comctl32.dll'; opengl32 = 'opengl32.dll'; wintru…
MFC中位图伸缩函数StretchBlt在对图片进行缩放时会造成严重的图片失真. 在了解解决方法前先巩固下StretchBlt的用法: StretchBlt 函数功能:函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩. 函数原型: BOOL StretchBlt(HDC hdc, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeighDest, HDC hdcSrc, int nXOri…
vc中位图伸缩函数StretchBlt在对图片进行缩放时会造成严重的图片失真.在了解解决方法前先巩固下StretchBlt的用法: StretchBlt 函数功能:函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩. 函数原型:BOOL StretchBlt(HDC hdc, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeighDest, HDC hdcSrc, int nXOrigin…
在 VC 中使用 StretchBlt 会碰到一些与点阵图大小缩放相关的一些问题.在扩展一个点阵图时,StretchBlt必须复制图素行或列.如果放大倍数不是原图的整数倍,那么此操作会造成产生的图像有些失真.如果目的矩形比来源矩形小,那么StretchBlt在缩小图像时就必须把两行(或列)或者多 行(或列)的图素合并到一行(或列).完成此操作有四种方法,它根据装置内容伸展模式属性来选择其中一种方法.您可使用 SetStretchBltMode 函数来修改这个属性.SetStretchBltMod…
jackyhwei 发布于 2011-10-13 10:55 点击:1080次  来自:blog.csdn.net/weiqubo BOOL StretchBlt( int x, //指定目的矩形区域左上角的X坐标 int y, //指定目的矩形区域左上角的Y坐标 int nWidth, //指定目的矩形区域的宽度 int nHeight, //指定目的矩形区域的高度 CDC* pSrcDC, int xSrc, //指定源矩形区域左上角的X坐标 int ySrc, //指定源矩形区域 TAG:…
转自:http://blog.csdn.net/giantchen547792075/article/details/6996011 StretchDIBits 函数把DIB.JPEG.PNG图像中一矩形区域内的像素颜色数据拷贝到指定的目标矩形里.假设目标矩形大于源矩形,此函数将拉伸的行和列以适合目标矩形的颜色数据.假设目标矩形小于源矩形,则此函数使用指定的光栅操作压缩的行和列.(Note:整幅图像都会被显示在一个矩形区域中,这个矩形区域不许显示原图全貌) 语法: int StretchDIBi…
通过SetStretchMode(STRETCH_HALFTONE)实现,同时注意重新设置画刷起点 LRESULT CMainDlg::OnPaint(UINT uMsg, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled) { CPaintDC dc(m_hWnd); CDC memDC; memDC.CreateCompatibleDC(dc); memDC.SelectBitmap((HBITMAP)m_cap_pic); dc.SetStr…
BitBlt 该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境. 函数原型 [DllImport("gdi32.dll")] public static extern bool BitBlt(IntPtr hObject, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hObjectSource, int nXSrc, int nYSrc, int dwRop); 参数 hDe…
StretchBlt  函数从源矩形中复制一个位图到目标矩形,必要时按目前目标设备设置的模式进行图像的拉伸或压缩以满足目标矩形的尺寸. 原型: BOOL StretchBlt( HDC hdcDest, int nXOriginDest, int nYOriginDest,  int nWidthDest, int nHeighDest, HDC hdcSrc, int nXOriginSrc,   int nYOriginSrc,   int nWidthSrc,   int nHeightS…
StretchBlt和BitBlt都用在双缓冲视图中,用来显示一幅图像 一.StretchBlt 函数从源矩形中复制一个位图到目标矩形,必要时按目标设备设置的模式进行图像的拉伸或压缩.也即是将内存中的位图拷贝到屏幕上,并且可以根据屏幕画图区的大小来进行伸缩,适应响应的屏幕(或图像控件) BOOL StretchBlt( int x, int y, int nWidth, int nHeight, CDC* pSrcDC, int xSrc, int ySrc, int nSrcWidth, in…
StretchDIBits速度测试(HALFTONE) 下面实验中显示窗口大小为1024*768,拉伸模式设为HALFTONE. 一.单通道图像 (1) 保持图像高度为1024,宽度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像宽度的关系: 图像大小 耗时(ms) 24*1024 9.796325 74*1024 10.30184 124*1024 11.06231 174*1024 11.52316 224*1024 12.18715 274*1024 12.82155 32…
最近遇到加载的bmp图片出现失真问题,查找得知需要用SetStretchBltMode函数设置拉伸模式. 函数原型:int SetSTretchBltMode(HDC hdc, int iStretchMode) 参数: hdc:设备环境句柄. LStretchMode:指定拉伸模式.它可以取下列值,这些值的含义如下: BLACKONWHITE:使用消除和现在的像素颜色值进行逻辑AND(与)操作运算.如果该位图是单色位图,那么该模式以牺牲白色像素为代价,保留黑色像素点. COLORONCOLOR…
该函数将DIB中矩形区域内像素使用的颜色数据拷贝到指定的目标矩形中.如果目标矩形比源矩形大小要大,那么函数对颜色数据的行和列进行拉伸,以与目标矩形匹配.如果目标矩形大小要比源矩形小,那么该函数通过使用指定的光栅操作对行列进行压缩.http://baike.baidu.com/view/1080406.htm…
在用Scrollview控件的缩放图片时,严重失真: 解决方法:dc.SetStretchBltMode(COLORONCOLOR). 参考文章:https://blog.csdn.net/m372897500/article/details/6959022…