Rotateflip image adding to image? - c#

I have an image in a picture box, and when I do this in my code:
pictureBox1.Image.RotateFlip(RotateFlipType.Rotate180FlipX);
The image has a black box on the right side of the picture box?

Hard to repro. For one, the PictureBox control has no idea that the image was changed, it won't even repaint it. At least do it like this so it knows:
var img = pictureBox1.Image;
img.RotateFlip(RotateFlipType.Rotate180FlipX);
pictureBox1.Image = img;

Related

Resizing components in an image when image was resizing in c#

I have an Image in that I need to place some textboxes and checkboxes in the Image but when I try to resize the image in a picturebox, how to resize all the components that was placed in the Image ?
For this I used Windows Form
1.adding picturebox and placing the components in that picturebox
Sample code I used was :
Metafile EMF = (System.Drawing.Imaging.Metafile)System.Drawing.Imaging.Metafile.FromFile("Sample.EMF");
this.pictureBox1.Image = EMF;
pictureBox1.Controls.Add(textBox1);
this.textBox1.Parent = this.imageBox;
textBox1.BringToFront();
With this code I was able to fix the components' position in the image but when the image was resized , how can I resize all the components that are placed in the image.

C# white or black unwanted pixels appear in the image

I am new to C#, I am using Visual Studo 2010, I have an image that needs to be displayed on a picturebox.
I tried many different methods. All the methods results in some unwanted pixels to appear along with image.
I have tried
picturebox.Image = Image.FromFile("bird.png");
result->
the image is displayed but with the stray white/black pixels at random places.
I also tried creating a bitmap of same size and drawing the image onto the bitmap and then assigning the bitmap to the picture box.Image. Still those unwanted pixels are visible.
I have tried clearing the picture box image (filling it with white or transparent) and then assigning the image, still same error occurs.
PS: this doesn't happen for all the images only certain images show this behaviour.
any help would be great
Code:
Image org = Bitmap.FromFile("bird.png");
Bitmap final = new Bitmap(org.Width,org.Height);
using (Graphics g = Graphics.FromImage(final))
{
g.DrawImage(org,0,0,GraphicsUnit.Pixel);
}
picturebox.Image = final;
if i use final.save("picture.png"). The "picuture.png" does not have that wrong pixels, it happens only when i use picture box to display it.
Please find the images attached defect orginal
PS: its not because of different fileformat (orginal and defect)
It was an TransperancyKey issue resolved by setting it to Default.

Extend an image with transparent portion

I am making and photo editor and displaying an image in pictureBox and I resize the image to fit in the pictureBox without effecting its ratio of sides.
Example if the pictureBox is of size (400x400) and the image is of (800x600) i will resize it to (400x300) programatically.
The problem is I want this image to be the size of (400x400) to cover complete pictureBox for this I want to add transparent part in my image to make it from (400x300) to (400x400)
Snapshot of my image on the pictureBox
In the image above my blue is my image and other part is remaining picturebox.
Again I want image'size (blue one) to be equal to picturebox's size and the remaining part of picturebox is covered by transparent part of picture
Note: I don't want to stretch my image but add transparent part
thanks,
The most direct way is to create the larger bitmap and then DrawImage the picture into it.
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;

Get part of image from AForge.Net videosourceplayer

Can anybody help me with this problem, please?
I put VideoSourcePlayer control from AForge.Net, a picturebox and a button on my form. When clicking I want to show only a region from current frame to picturebox. I can show the whole frame using this code:
Bitmap bitmap = (Bitmap)videoSourcePlayer1.GetCurrentVideoFrame().Clone();
pictureBox1.Image = bitmap;
Bitmap bitmap = this.VideoSourcePlayer.GetCurrentVideoFrame();

C# code to save the zoomed image on picturebox control in windows mobile App

I capture a image from windows mobile camera and save it on
picturebox control..now to zoom the picture i am increasing
its size by Onpaint event.The image is getting zoomed but
i am not able to save the zoomed image(ie.., the increased
image size)...
Please let me know
Presumably you have a Bitmap being displayed in the PictureBox? If so, then do this:
Bitmap bmp = (Bitmap)myPictureBox.Image;
bmp.Save("\My Documents\My Pictures\image.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

Categories

Resources