53032979 发表于 2014-12-12 11:19:53

【求助】 改变图片宽高出现诡异的现象,不解

AUToit的画图好难啊,求大神帮忙,感谢!{:face (382):}

问题:
1) 下面第二段代码相对第一段,只是改了一下变量名,为什么得到的图片final.jpg就不一样呢?
2) 第一段中_GDIPlus_BitmapCreateFromGraphics只是将原图改变了宽和高吧?为什么内容都变了,成了全黑的
3) 第三段是将图片背景由黑色刷为红色,可是为什么没有实现呢?

图片:screen.jpg
第一段
        $hBitmap = _GDIPlus_BitmapCreateFromFile("d:\screen.jpg")
        $hGraphic = _GDIPlus_ImageGetGraphicsContext($hBitmap)
        $hBitmap = _GDIPlus_BitmapCreateFromGraphics(200, 200, $hGraphic)
        _GDIPlus_ImageSaveToFile($hBitmap, "d:\final.jpg")
得到的final.jpg


第二段
        $hBitmap = _GDIPlus_BitmapCreateFromFile("d:\screen.jpg")
        $hGraphic = _GDIPlus_ImageGetGraphicsContext($hBitmap)
        $hBitmap1 = _GDIPlus_BitmapCreateFromGraphics(200, 200, $hGraphic)
        _GDIPlus_ImageSaveToFile($hBitmap1, "d:\final.jpg")
得到的final.jpg


第三段
        $hBitmap = _GDIPlus_BitmapCreateFromFile("d:\screen.jpg")
        $hGraphic = _GDIPlus_ImageGetGraphicsContext($hBitmap)
        $hBitmap = _GDIPlus_BitmapCreateFromGraphics(200, 200, $hGraphic)
        $hGraphic1 = _GDIPlus_ImageGetGraphicsContext($hBitmap)
        $Brush = _GDIPlus_BrushCreateSolid(0xFF0000) ;创建一个实体画刷,画刷颜色定义为红色
        _GDIPlus_GraphicsFillRect($hGraphic1, 0, 0, $Width, $Height, $Brush)
        _GDIPlus_ImageSaveToFile($hBitmap, "d:\1.jpg")

netegg 发表于 2014-12-12 11:27:20

_GDIPlus_BitmapCreateFromFile只支持位图格式

seniors 发表于 2014-12-12 11:57:34

看清楚变量不一样
$hBitmap和 $hBitmap1
仔细体会

53032979 发表于 2014-12-12 14:15:09

嗯呢就是不明白换了个变量怎么就不行了呢

回复 3# seniors

austere 发表于 2014-12-14 02:51:28

GDI我是小白。。。 太难了~

53032979 发表于 2014-12-15 09:46:34

up up up up

53032979 发表于 2014-12-31 09:47:08

up up up up
页: [1]
查看完整版本: 【求助】 改变图片宽高出现诡异的现象,不解