我知道要单独创建TCanvas需要一个DC,于是我用CreateCompatibleDC创建了一个
内存DC。但是刚创建的内存DC大小只有1个象素。就算把它赋值给TCanvas,也是会在
CopyRect等函数中出错呢,我该怎么做呢?

解决方案 »

  1.   

    Create Canvas是何目的? 创建一个TBitmap就有Canvas可以用了
      

  2.   

    我的目的就是想把一个PNG图片中的某一区域读取出来,PNG是有透明色的。因为我LOAD出来的图片是有透明色。用的是TPicture读的。(我下载了个PNG库,所以TPicture可以识别PNG)以前我是先把在TBitmap中填充粉红色做为COLOR_KEY,再使用Draw把图片填进来。之后再以CopyRect把这个图片中的某一区域拷贝出来。
    我现在不想这么麻烦,如果TCanvas可以直接在内存中创建的话,直接通过这个TCanvas就可以了。
    而不用再设置一个透明色什么的。
      

  3.   

    copybrush 是可以指定一种颜色为透明,, 最简单了..最后一个参数