StretchBlt收缩腐败

我使用Windows(包括7&XP – 都是32位)和C ++编码

我正在接收来自外部源的位图。 这些位图的分辨率是固定的(384×288)

收到位图后,我需要根据可变大小的布局resize,所以我正在使用StretchBlt来执行这些任务。

如果我调整位图到一个更大的屏幕图像,这很好。

用Cern ROOT绘图

将图像从TrueColor更改为1Bpp调色板?

我需要做些什么来将DIB转换为BMP?

使用命名pipe道(C ++)将图像发送到FFMPEG

如何将PNG格式的XImage保存为base64string?

但是,如果我将传入的位图缩小到放置在屏幕上的较小版本,则会在图像上出现一些奇怪的“装箱”效果

在以下示例中,三个面板中的每个面板的源图像都是相同的。 但是左边的两个(调整小一点)都对他们有拳击/线条效果

对于实际的StretchBlt调用,我正在这样做:

memcpy(at_TempPointer[PortNo],// Destination (void *)VideoBufferAddress,// Source FIXED_IMAGE_WIDTH * FIXED_IMAGE_HEIGHT * BYTES_PER_PIXEL // Number of bytes ); StretchBlt(at_ImageDC[PortNo],// HDC Dest 0,// X Origin Dest 0,// Y Origin Dest at_Width[PortNo],// Width Dest at_Height[PortNo],// Height Dest at_GhDC[PortNo],// HDC Source 0,// X Origin Source 0,// Y Origin Source FIXED_IMAGE_WIDTH,// Width Source FIXED_IMAGE_HEIGHT,// Height Source SRCcopY // Graphic Operation );

但是我想知道这个问题是否在其他地方。

有没有其他人有这种调整图像腐败的经验,知道我可以修复它?

是否存在任何开放源代码的独立静态图像服务器?

在C#应用程序中触发Windows资源pipe理器的“顺时针旋转”操作

添加文本到图像的方法

在c ++中使用伽马校正来转换jpeg

应用简单的水印后图像大小急剧增加

你使用SetStretchBltMode设置StretchBlt模式吗?

HALFTONE

将源矩形中的像素映射到目标矩形中的像素块。 目标像素块上的平均颜色接近源像素的颜色。

在设置HALFTONE拉伸模式后,应用程序必须调用SetBrushOrgEx函数来设置画笔原点。 如果不这样做,会发生刷子错位。

与VS 2013兼容的基于工作面板的OnPaint代码

void CMyView::paint_image(CDC* pDC) { CPalette * pal = &m_Palette; if (pal->m_hObject != NULL && m_Bitmap.m_hObject != NULL) { if (pDC != NULL) { CPalette *pOldPalette; pOldPalette = pDC->SelectPalette( pal,FALSE ); pDC->RealizePalette(); SetStretchBltMode(pDC->GetSafeHdc(),HALFTONE); if(flip) pDC->StretchBlt( 0,x*zoomx,y*zoomy,m_pMemDC,x,y,-x,-y,SRCcopY ); else pDC->StretchBlt( 0,SRCcopY ); pDC->SelectPalette( pOldPalette,TRUE ); } else { cclientDC m_pWinDC(this); OnPrepareDC(&m_pWinDC); m_pWinDC.SelectPalette( pal,FALSE ); m_pWinDC.RealizePalette(); SetStretchBltMode(m_pWinDC,HALFTONE); if(flip) m_pWinDC.StretchBlt( 0,SRCcopY ); else m_pWinDC.StretchBlt( 0,SRCcopY ); } } }

相关文章

本篇内容主要讲解“gitee如何上传代码”,感兴趣的朋友不妨来...
这篇“从gitee上下的代码如何用”文章的知识点大部分人都不太...
这篇文章主要介绍“gitee如何下载仓库里的项目”,在日常操作...
本篇内容主要讲解“怎么在Gitee上更新代码”,感兴趣的朋友不...
本文小编为大家详细介绍“怎么将工程托管到gitee”,内容详细...
这篇文章主要介绍了gitee中图片大小如何调整的相关知识,内容...