GDI+
花熊
毕业于西安交通大学
展开
-
MemDC,GDI绘制注意点
最近绘制老犯同样的错误,记录下:1.MemDC中的MemBmp大小一定要设定好,经常设小了,后面的绘不出来,同时最后dc.bitblt时,大小一定要和MemBmp 一致,同样经常是MemBmp必变了,bitblt的rcDest没变,结果还是绘不出来。2.MemDC上绘原创 2011-09-02 15:46:27 · 1981 阅读 · 0 评论 -
12.VC(ui)-AlphaBlend参数BLENDFUNCTION
AlphaBlend是Window自带的GDI函数,在作GUI的时候为了达到更漂亮的效果我们常常用它. BLENDFUNCTION是AlphaBlend用控制透明效果的重要参数. 定义如下: typedef struct _BLENDFUNCTION {原创 2011-08-13 16:29:39 · 3557 阅读 · 0 评论 -
GDI+使用小记
1.初始化:#include using namespace Gdiplus; #pragma comment(lib,"gdiplus.lib") GdiplusStartupInput gdiplusStartupInput; GdiplusStartup原创 2011-07-30 13:40:36 · 4390 阅读 · 0 评论 -
描边时消除锯齿SetSmoothingMode
SmoothingModeAntiAlias指定消除锯齿的呈现。SmoothingModeDefault指定默认模式。SmoothingModeHighQuality指定高质量、低速度呈现。SmoothingModeHighSpee原创 2011-08-16 21:04:57 · 10349 阅读 · 0 评论 -
Gdi+ drawstring
1.犯了一个错误:Brush(RGB(255,0,0));这样写程序不会报错,然后很悲剧的怎么也显示不出文字,记录下,以后不要再犯了。 自己写的示例代码:CPaintDC dc(this); Graphics g(dc.GetSafeHdc());原创 2011-09-08 09:16:34 · 14520 阅读 · 1 评论 -
自适应图片
有时我们在一个区域绘制一张图片,如果强制绘制,会失图片失真,所以自己写了一个简单算法,计算在当前区域下,按图片比例显示的区域为多大,居中代码如下:BOOL MeetRect(CRect &rc, CSize szPic){ int x, y, w, h;原创 2011-09-08 11:05:31 · 931 阅读 · 0 评论 -
DrawImage函数---旋转、反射和扭曲图像
Status DrawImage(IN Image* image, IN const PointF* destPoints, IN INT count) { if (cou原创 2011-08-09 11:29:50 · 4594 阅读 · 0 评论 -
Image类--2--旋转和翻转图片
inline StatusImage::RotateFlip( IN RotateFlipType rotateFlipType )enum RotateFlipType{ RotateNoneFlipNone = 0, //指定不进行旋转和翻原创 2011-08-09 10:52:16 · 5564 阅读 · 0 评论 -
Image类--3-克隆技术
inline Bitmap*Bitmap::Clone( IN REAL x, IN REAL y, IN REAL width, IN REAL height, IN PixelFormat format ){ PixelFo原创 2011-08-09 17:55:58 · 956 阅读 · 0 评论 -
创建缩放复制图像
inline Image* Image::GetThumbnailImage( IN UINT thumbWidth, IN UINT thumbHeight, IN GetThumbnailImageAbort callback, IN VOI原创 2011-08-09 17:17:55 · 769 阅读 · 0 评论 -
SetInterpolationMode控制图形的缩放质量
Status Graphics::SetInterpolationMode(IN InterpolationMode interpolationMode)enum InterpolationMode{ InterpolationModeInvalid原创 2011-08-09 10:20:49 · 10865 阅读 · 1 评论 -
Image类------1
Gif压缩不损失,JPEG损失,一般20:1的压缩比无法用肉眼分开,PNG压缩不损失,GIF每像素仅能用1/2/4/8位来表示,PNG可用8/24/48位,png为每个像素提供Alpha值GDI+函数详解:Image(IN const WCHAR* fil原创 2011-08-09 09:36:02 · 1245 阅读 · 1 评论 -
双缓冲技术绘图
当数据量很大时,绘图可能需要几秒钟甚至更长的时间,而且有时还会出现闪烁现象,为了解决这些问题,可采用双缓冲技术来绘图。 双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样能大大加快绘图的速度。双原创 2011-08-08 20:53:58 · 919 阅读 · 0 评论 -
缩放图片并保存
IStream* CpictureDemoDlg::StretchPic(const WCHAR *path,const WCHAR* format, int width, int heigh){ Bitmap orgpic(path) ; Image *Despic原创 2011-08-08 17:09:08 · 829 阅读 · 0 评论 -
19.VC(ui)-加载图片资源的方法(随手代码)
BOOL CImageManager::LoadResImage(UINT nResID, LPCTSTR lpType, Bitmap *&lpImage, HINSTANCE hInstance){ lpImage = NULL; hInstance = (NULL == hInstance) ? ::AfxGet原创 2011-12-14 17:18:59 · 1154 阅读 · 0 评论