Español
Fuente/ Codesnippets

Anzeigegröße Bildgröße Proportional Prüfen Umrechnen

 

Michael
Dell
Sind CX > MaxX y/oder CY > MaxY Luego se Proportional
en Monitorgröße umgerechnet! (XProfan10)

Proc gCkSize

    Parámetros gCS_CX&,gCS_CY&,gCS_MaxX&,gCS_MaxY&
    Declarar gCS_EX&,gCS_EY&
    Claro gCS_EX&,gCS_EY&
    gCS_EX& = gCS_CX&
    gCS_EY& = gCS_CY&

    If (gCS_CY& > gCS_MaxY&)

        gCS_EY& = gCS_MaxY&
        gCS_EX& = (gCS_CX& * (gCS_EY& / gCS_CY&))

    EndIf

    If (gCS_EX& > gCS_MaxX&)

        gCS_EX& = gCS_MaxX&
        gCS_EY& = (gCS_EY& * (gCS_EX& / gCS_CX&))

    EndIf

    Gl_CX& = gCS_EX&
    Gl_CY& = gCS_EY&
    Volver 0

ENDPROC

Demo:
Declarar Gl_CX&,Gl_CY&

Proc ChkDat

    Parámetros CD_dName$
    CD_dName$ = Upper$(CD_dName$)
    Casenote FileExists(CD_dName$): Volver 0
    Case InStr(".BMP",CD_dName$) : Volver 1
    Case InStr(".GIF",CD_dName$) : Volver 1
    Case InStr(".JPG",CD_dName$) : Volver 1
    Case InStr(".JPEG",CD_dName$): Volver 1
    Case InStr(".PNG",CD_dName$) : Volver 1   de XProfan11
    Volver 0

ENDPROC

Proc DelPHndl

    Parámetros DO_PHndl&
    Case DO_PHndl&: DeleteObject DO_PHndl&
    Volver 0

ENDPROC

Proc cPic

    Parámetros cP_PHndl&,cP_dNr&
    Declarar cP_Name$
    cP_Name$ = ListBoxItem$(cP_dNr&)

    If ChkDat(cP_Name$)

        cP_PHndl&  = DelPHndl(cP_PHndl&)
        cP_PHndl&  = Crear("HPic",-1,cP_Name$)
        gCkSize(%BmpX,%BmpY,%MaxX,%MaxY)      Sind %BmpX > %MaxX y/oder %BmpY > %MaxY entonces Proportional
        en Monitorgröße umrechnen!
        DrawSizedPic cP_PHndl&,0,0-Gl_CX&,Gl_CY&;0

    Más

        Volver 0

    EndIf

    Volver cP_PHndl&

ENDPROC

Proc gCkSize

    Parámetros gCS_CX&,gCS_CY&,gCS_MaxX&,gCS_MaxY&
    Declarar gCS_EX&,gCS_EY&
    Claro gCS_EX&,gCS_EY&
    gCS_EX& = gCS_CX&
    gCS_EY& = gCS_CY&

    If (gCS_CY& > gCS_MaxY&)

        gCS_EY& = gCS_MaxY&
        gCS_EX& = (gCS_CX& * (gCS_EY& / gCS_CY&))

    EndIf

    If (gCS_EX& > gCS_MaxX&)

        gCS_EX& = gCS_MaxX&
        gCS_EY& = (gCS_EY& * (gCS_EX& / gCS_CX&))

    EndIf

    Gl_CX& = gCS_EX&
    Gl_CY& = gCS_EY&
    Volver 0

ENDPROC

Declarar Gl_PHndl&,Gl_dName$,Gl_PMaxNr&,Gl_Zaehler&
Color del texto RGB(255,255,255),0
Ventana de Estilo $F0
Ventana 0,0-%MaxX,%MaxY
ShowCursor 0
Cls 0
Color del texto RGB(255,255,255),0
ClearList
AddFiles *"*.BMP"
AddFiles *"*.GIF"
AddFiles *"*.JPG"
AddFiles *"*.PNG"   de XProfan11
Gl_PMaxNr& = %GetCount
Case (Gl_PMaxNr& = -1): End
Def CckVGK(1) If((&(1) > Gl_PMaxNr&),0,If((&(1) < 0),Gl_PMaxNr&,&(1)))
Gl_PHndl&   = cPic(Gl_PHndl&,0)
Gl_Zaehler& = 0
Gl_PHndl& = cPic(Gl_PHndl&,Gl_Zaehler&)

Mientras que 1: WaitInput : Cls 0

    Case (IsKey(27) | IsKey(69) | IsKey(101) | IsKey(4)): Romper

    If (IsKey(34) | IsKey(37) | IsKey(40) | IsKey(2))

        Dec Gl_Zaehler&

    Más

        Inc Gl_Zaehler&

    EndIf

    Gl_Zaehler& = CckVGK(Gl_Zaehler&)
    Gl_PHndl& = cPic(Gl_PHndl&,Gl_Zaehler&)

EndWhile

ShowCursor 1
ClearList
DelPHndl(Gl_PHndl&)
End
Geht con Crear("hSizedPic",...) einfacher aber uno sieht hier wies va.
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
04.08.2008  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

7.127 Views

Untitledvor 0 min.
Michael Hettner02.05.2022
Jörg Sellmeyer28.05.2020
GDL12.09.2015
Dieter Zornow18.11.2011
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

Michael Dell (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie