用Photoshop抠图,在对话框显示有白边?解决方案

用Photoshop抠图,在对话框显示有白边?
本帖最后由 fhw_bin_dl 于 2015-10-15 12:08:27 编辑
这是原图:
用Photoshop抠图,在对话框显示有白边?解决方案
用PS处理后(抠图,用圆形选区工具):
用Photoshop抠图,在对话框显示有白边?解决方案
在对话框中的显示效果:
用Photoshop抠图,在对话框显示有白边?解决方案

我感觉应该是PS的原因,PS的选区边缘是半透明的,和背景叠加就变成了白边,请问怎么把白边去掉?
下面是代码:

CPaintDC dc(this);

CRect rect;
GetClientRect(&rect);

dc.FillSolidRect(&rect, 0);

CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP2);

CDC memDC;
memDC.CreateCompatibleDC(&dc);

memDC.SelectObject(&bmp);

BITMAP bm;
bmp.GetBitmap(&bm);

::TransparentBlt(dc.m_hDC,
0,
0,
bm.bmWidth,
bm.bmHeight,
memDC.m_hDC,
0,
0,
bm.bmWidth,
bm.bmHeight,
RGB(255, 255, 255));

------解决思路----------------------
主要是半透明的问题

1. PhotoShop抠图,用圆形选区工具, 关闭消除锯齿功能, 这样图形可能会有锯齿, 但是可以消除白边

2. 处理出来的图片带透明层, 在你的代码也加上透明层的处理, 比如GDI+, 这样更麻烦, 但是效果最好