Jag vill visa .jpg -bilder i en imagebox i mitt program. Bilderna har formatet  Sätt Imagen:s  Stretch Property till = True Jag var tvungen att testa. Jodå verkar funka men en ut-zoomning skulle behövas så att hela bilden får plats. Vadå får plats. ! ? mmm... Image ger en dålig kvalitet när man skalar ner bilden.Du förlorar för mycket i kvalitet. Var tvungen att kolla en gång till ang Image och kvalitet på när jag ändrar skala.bildformat
    
    
1600 x 1200 och imagebxens bredd/höhd är anpassade till det. Men några
bilder är tagna med kameran på högkant och sedan blivit vända. Dom får 
då formatet 1200 x 1600. Programmet behöver då anpassa bredden på 
imageboxen. Men hur får man programmet att känna av bildformatet?Sv: bildformat
    
    
http://msdn.microsoft.com/en-us/library/aa445712(VS.60).aspx
Blev lite osäker.
Testa att sätta Imagen till (i designläge) 1200 * 1600
och skifta mellan Stretch = True  vs Stretch = False 
En annan variant är att du använder en PictureBox med AutoSize = TrueSv:bildformat
    
    
Det sköter ju sig själv när Stretch = False.
Lägg in en liten Image   100*100. den växer själv vid växling av bild till rätt storlek.
Se till att vänster övre hörn ligger så det passar båda fallen.
Lägg eventuellt in en If sats som justerar detta hörn efter 1600 eller 1200
OBS sätt Formens ScaleMode = 3 (Pixel)
Använd Image1.Move om du vill centrera bilden.
<code>
 Image1.Move (Form1.Width - Image1.Width) \ 2, _
                     (Form1.Height - Image1.Height) \ 2
</code>Sv: bildformat
    
    
          // Tor ErikSv:bildformat
    
    
Du får ju klart ha en Form och skärm som tar 1600 *1200.
Om inte kommer Vi in på en annan teknik nämligen att scala om bilden till tex 800 * 600 / 600*800
Vill du ha det så ?Sv:bildformat
    
    
Därför skall du använda en PictureBox som du ställer i ScaleMod = 3 (Pixel) och AutoSize till True.
Börja med det. Skall hitta på en formel så du kan köra både 1600*1200 och 1200*1600 bilder
med bibehållen kvalitet. Börja med en stor Form och lägg in Picturebox 800*600 AutoSize=True
Juster som du vill men bibehåll förhållandet 1600 till 1200 på PictureBoxen Dvs 1.3333 till 1
Är höjden 600 pix skall vidden vara 798 pix = (600*1.3333) på PictureBoxen
När du sedan kör en bild som är 1200*1600 får Vi använda 0,75 till 1
Dvs höjden 600 ger vidd 450 . <b>OCH AutoSize = True  ScaleMode = 3</b>Sv: bildformat
    
    
Jag hade strulat till det. Du kan använda Image precis som beskrivits ovan.
Tillverka en Image som har förhållande 1600 * 1200  Dvs 1.3333 till 1
Sätt <b>Stretch = True</b>  och ta sedan in din bild.
Utgå alltid från höjden på din Image.   ex höjd 480 blir (480 * 1.3333) = vidd 640
Omvänt höjd 480  ger  (480 * 0.75) = vidd 360   när du kör 1200 * 1600 bild
Lägg det senare på en knapp och rotera rätt om det visar sig att bilden ligger ner.
<code>
'centrera bilden på Formen 
  Image1.Move (Form1.Width - Image1.Width) \ 2, _
                       (Form1.Height - Image1.Height) \ 2
</code>
OBS Sätt Formens ScaleMode = 3 (Pixel)