我在内存DC里绘图的时候用的是MM_ISOTROPIC模式,即可以自己定义比率、绘图原点,我把原点定在左下角,Y轴正方向向上。
可画完后拷贝到实际DC时,图像总是变成以左上角为原点了,并且Y正方向变成了向下的。
我想可能是外部还是以默认的MM_TEXT模式给绘制了。
能不能在StretchBlt拷贝的时候把纵向坐标变一下啊?
可画完后拷贝到实际DC时,图像总是变成以左上角为原点了,并且Y正方向变成了向下的。
我想可能是外部还是以默认的MM_TEXT模式给绘制了。
能不能在StretchBlt拷贝的时候把纵向坐标变一下啊?
bitmap.CreateCompatibleBitmap(&dc, rectClient.Width()*PRE, rectClient.Height()*PRE);
这个比率PRE我至少要100以上,这时我的程序甚至会弹出内存不足,或者是不能创建。
有没有办法解决啊
CLientDC dc(this);
CDC* memoryDC = new CDC;
memoryDC->CreateCompatibleDC(&dc);
memoryDC->SelectObject(&bitamp);
dc.StretchBlt(x, y, cx, cy, memoryDC,
bitmapX, bitmapY, bitmapCX, bitmapCY, SRCCOPY);
如果不用这句memoryDC->SelectObject(&bitamp);
中的bitamp是什么啊?
我看网上的例子都要创建的啊
CBitmap bitmap
bitmap.LoadBitmap(ID)
载入的啊,我都是这样创建的
也没有问题,我也是菜鸟,希望有高人指点
pDC->SetWindowOrg((int)(-m_fXOrg*PRECISION),(int)(m_fYOrg*PRECISION));
pDC->SetWindowExt(PRECISION,-PRECISION);
pDC->SetViewportExt(1,1);