EasyX如何实现图片缩放

0

RT,使用Resize只能做到裁剪而不是拉伸,不想一直使用loadimage,有没有其他的函数可以实现这个功能?不然就只能自己造轮子了

ava
无名氏

2020-3-22

1


可以使用 GDI 函数 StretchBlt,大概如下:

	IMAGE img;
	loadimage(&img, ...);

	HDC easyx_win = GetImageHDC();			// 是 easyx 绘图窗口
	HDC img_hdc = GetImageHDC(&img);		// img 是自己加载的图片

	StretchBlt(easyx_win , 0, 0, 200, 200, img_hdc, 0, 0, 66, 66, SRCCOPY);
ava
xiongfj ◑◑

2020-3-22

@无名氏 可以试试 SetStretchBltMode 设置伸缩模式,减少一些失真。显示不出来,估计就是贴图后需要加 FlushBatchDraw() - xiongfj ◑◑ 2020-3-22
感谢,不过函数失真有点明显,最大的问题是时常显示不出图片(多开几次就会显示不出来),求解 - 无名氏 2020-3-22
0

其实自己造轮子也挺好呀,

打完代码的感觉十分不错。

ava
Lost

2020-3-30

热门标签