虽然我用的是VC,不过我想利用API这点是相通的,画图问题,高手请进,急!!!!(100分)

  • 主题发起人 主题发起人 lvxq
  • 开始时间 开始时间
L

lvxq

Unregistered / Unconfirmed
GUEST, unregistred user!
我要在一个对话框的picture控件里画,10几张的图,并且要使画出的图象与Picture的宽度,
高度相适宜。下面是我的部分代码:
for(int i=0;i<nCount;i++)
{
...
nMode=GetStretchBltMode(pDC->GetSafeHdc());
SetStretchBltMode(pDC->GetSafeHdc(),STRETCH_HALFTONE);
if(i==0)
left=5;
else
left+=3
pimage->Display(pDC,left,5,long(pimage->GetWidth()*fRate),
lHeight-10,0,0,pimage->GetWidth(),pimage->GetHeight(),SRCCOPY);//这里用到

left+=pimage->GetWidth();
...
}

我的问题是:
1.我的画出的图象,相间地出现色差(变质)。一般内存中的图象大小,
与实际的不一样,需要设置模式。
2.我画的图象出现的位置不对。
Display是我封装的类
其实都是标准的API的封装
里面封装了Stretchblt函数
 
难道重来没有想过要在对话框里画图吗??各位??
 
拜托给点思路,分咱可以商量么
 
不太明白你的意思:(

1. SetStretchBltMode 不是来解决这问题的吗?

2. left+=pimage->GetWidth()
改为
left+=pimage->GetWidth() * fRate

如何?

本来没搞清楚不应该回答的.
看你急的,才提醒你把问题说清楚点:)
 
是啊,可关键是颜色变了呀,
 
多人接受答案了。
 
避免变质.
 
后退
顶部