Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,726

    [TWINBASIC] Mantenere le proporzioni di una immagine caricata

    Buongiorno a tutti, in twinbasic come si può mantenere le proporzioni in un'immagine caricata con load picture... e poi ridimensionata? Ho provato in mille modi... ma senza ancora riuscirvi purtroppo... Grz a chi mi farà un esempio
    "Vero sapiente è colui che sa di non sapere" (Socrate)

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,437
    Come hai caricato l'immagine? Su quale controllo?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,726
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Come hai caricato l'immagine? Su quale controllo?
    I controlli che ho utilizzato sono Picture e Image

    e questi sono i code che ho provato... ma senza esito in quanto l'immagine appunto quando ridimensiono la finestra mi viene stretchata e perde sia la definizione che le proporzioni


    Sub RidimensionaImage()
    On Error GoTo errore

    If Not PicImg.Picture Is Nothing Then
    Dim nW As Long = PicImg.Width, nH As Long = PicImg.Height
    Dim nW2 As Long, nH2 As Long
    If nW > nH Then
    nW2 = PicContainer.ScaleWidth - (30 * Screen.TwipsPerPixelX) ' bordo 30 twips
    ' nW2: nW = x: (nH + 30 * Screen.TwipsPerPixelX)
    nH2 = (nW2 * (nH - 30 * Screen.TwipsPerPixelX)) / nW
    Else
    nH2 = PicContainer.ScaleHeight - (30 * Screen.TwipsPerPixelY) ' bordo 30 twips
    ' nh2: nH = x: (nW - 30 * Screen.TwipsPerPixelY)
    nW2 = (nH2 * (nW - 30 * Screen.TwipsPerPixelY)) / nH
    End If
    Image1.Picture = PicImg.Picture
    Image1.Height = nH2
    Image1.Width = nW2
    Image1.Left = (PicContainer.ScaleWidth - nW2) / 2
    Image1.Top = (PicContainer.ScaleHeight - nH2) / 2


    Me.Refresh
    End If
    errore:
    If Err <> 0 Then Err.Clear
    End Sub



    Sub MostraImmagine(sFile As String)
    On Error GoTo errore
    PicImg.Picture = LoadPicture (sFile)
    RidimensionaImage

    errore:
    If Err <> 0 Then
    MsgBox Err.Description
    Err.Clear
    End If
    End Sub



    Sub GestineResize()
    On Error GoTo errore
    PicContainer.Width = Me.ScaleWidth - PicContainer.Left * 2
    PicContainer.Height = Me.ScaleHeight - PicContainer.Top - 2 * Screen.TwipsPerPixelY
    RidimensionaImage()

    errore:
    If Err <> 0 Then

    Err.Clear
    End If
    End Sub

    Private Sub Form_Resize()
    GestineResize
    End Sub






    "Vero sapiente è colui che sa di non sapere" (Socrate)

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,437
    Sulla definizione non puoi fare miracoli.

    Per le proporzioni dovrei provare il codice...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2023 vBulletin Solutions, Inc. All rights reserved.