找回密码
 加入
搜索
查看: 2846|回复: 6

先获取图片宽高再定义主窗体大小引发的问题

[复制链接]
发表于 2009-6-2 15:07:18 | 显示全部楼层 |阅读模式
本帖最后由 lynfr8 于 2009-6-2 15:44 编辑
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <GDIPlus.au3>
Opt('MustDeclareVars', 1)
Local $hGUI, $hWnd, $Pic1,$Pic2,$nMsg,$size ,$hImage,$Imageh,$Imagew
$Pic1=@ScriptDir & "\test1.jpg"
$Pic2=@ScriptDir & "\test2.jpg"
_Main()

$hGUI = GUICreate("AU3论坛", $Imagew+150, $Imageh+150, 302, 218)
$hWnd = WinGetHandle("AU3论坛")
GUICtrlCreatePic($Pic1, 0, 0,0,0)

GUISetState(@SW_SHOW)

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd

Func _Main()
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($Pic1)
$Imageh= _GDIPlus_ImageGetHeight($hImage)
$Imagew= _GDIPlus_ImageGetWidth($hImage)
_GDIPlus_ShutDown()
EndFunc 
测试结果:
1.当GUICtrlCreatePic($Pic1, 0, 0,0,0)
和$hImage = _GDIPlus_ImageLoadFromFile($Pic1)
同时以$Pic1为导入图片,能获取图片宽$Imagew高$Imageh,但图片框无法显示图片
2.反之,任意一个定义为$Pic1,另一个定义为$Pic2,则可顺利导入显示

何解??
 楼主| 发表于 2009-6-2 15:43:50 | 显示全部楼层
原来是漏了一句_GDIPlus_BitmapDispose()
发表于 2009-6-4 01:50:58 | 显示全部楼层
嘿嘿,自问自答
 楼主| 发表于 2009-6-4 02:00:14 | 显示全部楼层
那个时侯研究了很久都找不出原因,只好发帖问问大家
不过我不是那种把问题丢到论坛上就歇着去的人
继续翻看手头的资料才在其他的一个例子发现了这个答案
所以,有时候答案往往是柳暗花明的,说不定再坚持一下就能自己找出答案了呢
发表于 2009-6-4 02:01:00 | 显示全部楼层
恩,精神可嘉,而且也是大家学习的榜样,特别是我?!~
发表于 2009-6-5 13:54:09 | 显示全部楼层
参与一下,不知道算不算灌水?
发表于 2011-6-30 02:15:51 | 显示全部楼层
对我有大用了.......
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-1 23:43 , Processed in 0.074220 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表