扩展具有透明部分的图像
Extend an image with transparent portion
我正在制作照片编辑器并在 pictureBox 中显示图像,我在不影响边长比的情况下调整图像大小以适应 pictureBox。
例如,如果 pictureBox 的大小为 (400x400) 而图像的大小为 (800x600),我将以编程方式将其调整为 (400x300)。
问题是我希望这张图片的大小为 (400x400) 以覆盖整个 pictureBox 为此我想在我的图片中添加透明部分以使其从 (400x300) 到 (400x400)
我在 pictureBox 上的图片快照
上图中我的蓝色是我的图片,其他部分是剩下的图片框。
我再次希望图像的大小(蓝色的)等于图片框的大小并且图片框的剩余部分被图片的透明部分覆盖
注意:我不想拉伸我的图像而是添加透明部分
谢谢,
最直接的方法是创建更大的位图,然后DrawImage
将图片放入其中。
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;
我正在制作照片编辑器并在 pictureBox 中显示图像,我在不影响边长比的情况下调整图像大小以适应 pictureBox。
例如,如果 pictureBox 的大小为 (400x400) 而图像的大小为 (800x600),我将以编程方式将其调整为 (400x300)。
问题是我希望这张图片的大小为 (400x400) 以覆盖整个 pictureBox 为此我想在我的图片中添加透明部分以使其从 (400x300) 到 (400x400)
我在 pictureBox 上的图片快照
上图中我的蓝色是我的图片,其他部分是剩下的图片框。
我再次希望图像的大小(蓝色的)等于图片框的大小并且图片框的剩余部分被图片的透明部分覆盖
注意:我不想拉伸我的图像而是添加透明部分
谢谢,
最直接的方法是创建更大的位图,然后DrawImage
将图片放入其中。
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;