2015-12-26 1 views
0

Je fais et éditeur de photo et l'affichage d'une image dans PictureBox et je redimensionner l'image pour tenir dans le PictureBox sans affecter son ratio de côtés. Exemple: si le PictureBox est de taille (400x400) et que l'image est de (800x600), je le redimensionnerai par programmation (400x300).Étendre une image avec la partie transparente

Le problème est que je veux que cette image soit la taille (400x400) pour couvrir picturebox complet pour ce que je veux ajouter une partie transparente à mon image pour la rendre de (400x300) à (400x400)

Snapshot de mon image sur le pictureBox enter image description here

Dans l'image ci-dessus mon bleu est mon image et l'autre partie est la zone d'image restante.

Encore une fois je veux image'size (bleu) égale à la taille de picturebox et la partie restante de picturebox est couverte par une partie transparente de l'image

Note: Je ne veux pas étirer mon image, mais ajouter partie transparente

remerciements,

Répondre

1

la façon la plus directe consiste à créer le plus grand bitmap puis DrawImage l'image en elle.

Bitmap original = (Bitmap) Bitmap.FromFile(someFileName); 
Size sz = yourPictureBox.ClientSize; 
Bitmap bmp = new Bitmap(sz.Width, sz.Height); 
using (Graphics G = Graphics.FromImage(bmp)) 
    G.DrawImage(original, 0, 0); 
yourPictureBox.Image = bmp; 
+0

merci, cela a fonctionné comme il se doit. –