Avatar billede tblaster Nybegynder
13. februar 2006 - 23:34 Der er 1 løsning

Beregne ny størrelse på billed ud fra orginalstørrelsen

Hejsa

Jeg skal have lidt hjælp med at formindste et billede. Til et givet billed har jeg en ny størrelse som jeg gerne vil have skaleret den til. Dette er angivet i følgende 2 variable:
Width
Height

Begge variable behøver ikke at indeholde værdier, men den ene af dem vil altid have en værdi. Udover ovenstående, har jeg også orginal størrelsen på billedet:
Jpg.OriginalWidth
Jpg.OriginalHeight

Det jeg så skal have hjælp til at få lavet, er at hvis både Width og Height har en værdi, hvor en af værdierne er størrere end orginal størrelsen, så skal billedet gøres netop så stor så det opfylder at den ny beregnet højde og bredde er mindre end eller lig. med værdin i Width og Height, dog således at billedet ikke bliver forvreden. Jeg tror det er nemmest at illustrer med et par eksempler:

-----------------------------------------------------
Width  = 200
Height = 100
Jpg.OriginalWidth = 200
Jpg.OriginalHeight = 50

Ny bredde = 100
Nyhøjde = 50
-----------------------------------------------------
-----------------------------------------------------
Width  = 300
Height = 400
Jpg.OriginalWidth = 1200
Jpg.OriginalHeight = 200

Ny bredde = 300
Nyhøjde = 50
-----------------------------------------------------
-----------------------------------------------------
Width  = 300
Height = 400
Jpg.OriginalWidth = 200
Jpg.OriginalHeight = 200

Ny bredde = 200
Nyhøjde = 200
-----------------------------------------------------

Hvis det kan hjælpe, så benytter jeg følgende kode til at ændre højden og bredden hvis kun den ene af værdierne er angivet. Det kan være dette kan være til inspiration:

    If Width & "X" <> "X" and Height & "X" = "X" Then
        ' User-specified width
        If Jpg.OriginalWidth > Width Then
            Height = Jpg.OriginalHeight * Width / Jpg.OriginalWidth
        Else
            Width     = Jpg.OriginalWidth
            Height     = Jpg.OriginalHeight
        End If
    ElseIf Width & "X" = "X" and Height & "X" <> "X" Then
        ' User-specified height
        If Jpg.OriginalHeight > Height Then
            Width = Jpg.OriginalWidth * Height / Jpg.OriginalHeight
        Else
            Width     = Jpg.OriginalWidth
            Height     = Jpg.OriginalHeight
        End If
    End If

På forhånd tak.
Avatar billede tblaster Nybegynder
14. februar 2006 - 17:23 #1
Lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester