已有相关的CreateCompatibleDC,CreateCompatibleBitmap这些API...
不知道哪错了.hdcSrcMark1 = CreateCompatibleDC(0)
'创建一个130*100的DC
vw=130
vh=100
hmD = CreateCompatibleBitmap(hdcSrcMark1, vw * iRate, vh * iRate)
'第十行开始
i1=10
for i2= 1 to 100
  if i2除2没有余数 then
  SetPixel hdcSrcMark1, i1, i2, 蓝色
  else
  SetPixel hdcSrcMark1, i1, i2, 红色
  end if
next
SelectObject hdcSrcMark1, hmD'保存hdcSrcMark1的结果..
SaveJPG hmD, App.Path & "\hdcSrcMark1.jpg"不知道为什么,好像创建出来的文件只有1*1个像素?

解决方案 »

  1.   

    iRate是多少?
    还有 好象CreateCompatibleDC,CreateCompatibleBitmap的第一个参数应该一样
    比如
    a = CreateCompatibleDC(picture1.hdc) 
    b = CreateCompatibleBitmap(picture1.hdc, 1,1) 
      

  2.   

    iRate默认是1
    很奇怪的就是保存hdcSrcMark1后查看的像素只有1*1.
    而另一个用VB调用的窗口,hdcSrcMark1的像素是正常大小,内存里调用,黑色一片,只有存为文件的时候,它就自动正常了(符合每个像素点的色彩值).
      

  3.   

    CreateCompatibleDC(0) 
    你居然创建一个和桌面一样大的场景 hmD应该就是你的BITMAP了,你没初始化它的大小,颜色位数什么的,那么它默认初始就是1*1的大小。  绘制保存过后,你看到的可能就是你所希望看到的样子 
      

  4.   

    这一点,可以在很多创建BITMAP的例子里面看到BITMAP的初始化过程,没有的话,它的默认初始大小就是1*1。