C# picturebox load image with an offset

后端 未结 4 1161
时光取名叫无心
时光取名叫无心 2020-12-19 14:32

I have a resource file (in .png format) which contain several images. They are sized and spaced in a way to where they should be relatively easy to call based on their offse

4条回答
  •  甜味超标
    2020-12-19 15:16

    Assuming your PNG image is imgwidth pixel wide and composed by n horizontal images, you could try this:

    Image imgsrc = Image.FromFile("...."); // your PNG file
    Image imgdst = new Bitmap(imgwidth/n, imgsrc.Height);
    using (Graphics gr = Graphics.FromImage(imgdst))
    {
        gr.DrawImage(imgsrc,
            new RectangleF(0, 0, imgdst.Width, imgdst.Height),
            new RectangleF(imgindex * imgwidth/n, 0, imgwidth/n, imgsrc.Height),
            GraphicsUnit.Pixel);
    }
    

    The idea is to create a new image (imgdst) and draw on it the part of original image you need.
    With new image you can do what you please, even draw it in a picturebox.

提交回复
热议问题