Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   определение разрешение файла JPG, и его отресовка в GUI (http://forum.oszone.net/showthread.php?t=210133)

andr_mozg 29-06-2011 17:53 1703723

определение разрешение файла JPG, и его отресовка в GUI
 
есть код

Код:

#include <array.au3>
#include <Encoding.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>

_GDIPlus_Startup()

$hImage2 = _GDIPlus_ImageLoadFromFile(@TempDir & "\1temp.jpg")
$iOldWidth = _GDIPlus_ImageGetWidth($hImage2)
$iOldHeight = _GDIPlus_ImageGetHeight($hImage2)

_GDIPlus_Shutdown()




$Form1 = GUICreate("Form1", 520, 660, -1, -1)
$Pic1 = GUICtrlCreatePic(@TempDir & "\1temp.jpg", 10, 10, 500, 366)

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

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

        EndSwitch
WEnd

я получаю значения, но вот потом они не отрисовываются, если убрать все с _GDIPlus_Startup() до _GDIPlus_Shutdown() то все отрисовывает..

как зделать так чтоб и показывало разрешение а потом еще и отрисовывало???
спасибо

Creat0R 29-06-2011 18:36 1703753

Без файла изображения трудно что либо сказать.
Впрочем проблема в том, что обьект $hImage не высвобождается:

Код:

_GDIPlus_ImageDispose($hImage2)
_GDIPlus_Shutdown()


andr_mozg 30-06-2011 10:12 1704114

спасибо, незнал что именно... теперь буду знать...
но потом понял что задача немного глупая, ибо GUICtrlCreatePic с нулями в последних 2х передоваеммых переменных дадут какраз разрешение картинки :)))

Creat0R 30-06-2011 19:46 1704606

Цитата:

Цитата andr_mozg
GUICtrlCreatePic с нулями в последних 2х передоваеммых переменных дадут какраз разрешение картинки »

Да, и об этом написано в справке:

Цитата:

If you want to have a picture having the same size as the file content just use width=height=0.


Время: 17:59.

Время: 17:59.
© OSzone.net 2001-