Iam рисование изображения на фотошоп. Я изменяю размер изображения в окне изображения в соответствии с шириной и высотой, чтобы правильно поместить его в picutrebox. После этого я хочу сохранить его, сохраняя его. Я также хочу сохранить часть неизображения в сохраненном файле. Посмотрите скриншот, на скриншоте у меня есть две белые части с надписью «X». когда я сохраняю изображение в ящике изображений, я также хочу сохранить пустую часть (место порезать красным цветом) как прозрачный .png или сплошной белый .jpg.Сохранение изображения из фреймворка
На самом деле я скопировал некоторые части кода из Google и изменил. Это будет здорово и полезно, если кто-то объяснит это по строкам.
Это то, что я есть donw до сих пор,
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
open.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.bmp; *.png)|*.jpg; *.jpeg; *.gif; *.bmp; *.png";
if (open.ShowDialog() == DialogResult.OK)
{
Image original = Bitmap.FromFile(open.FileName);
pictureBox1.Image = new Bitmap(ScaleImage(original));
pictureBox1.Padding = new Padding((pictureBox1.Width - ScaleImage(original).Width)/2, (pictureBox1.Height - ScaleImage(original).Height)/2, 0, 0);
}
}
private Bitmap ScaleImage(Image oldImage)
{
double resizeFactor = 1;
if (oldImage.Width > 300 || oldImage.Height > 300)
{
double widthFactor = Convert.ToDouble(oldImage.Width)/300;
double heightFactor = Convert.ToDouble(oldImage.Height)/125;
resizeFactor = Math.Max(widthFactor, heightFactor);
}
int width = Convert.ToInt32(oldImage.Width/resizeFactor);
int height = Convert.ToInt32(oldImage.Height/resizeFactor);
Bitmap newImage = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
newImage.MakeTransparent(Color.White);
Graphics g = Graphics.FromImage(newImage);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
g.DrawImage(oldImage, 0, 0, newImage.Width, newImage.Height);
return newImage;
}
private void button2_Click(object sender, EventArgs e)
{
pictureBox1.BackColor = Color.White;
pictureBox1.Image.Save("D:\\temp.png", ImageFormat.Png);
}
В настоящее время iam сохраняет изображение в картинке. Думаю, мне пришлось спасти всю картину или что-то в этом роде. Когда я спасу, я также хочу сохранить изображение без изменений. Добавьте прозрачность или сплошной цвет в скрещенном месте. – locknies
Если некоторые другие предлагают другие варианты добавления изображения, изменения размера и сохранения без рамки, также приветствуются! – locknies
Я не могу понять, какая цель здесь. Это сохранить сохраненное изображение или отобразить изображение в окне изображения? Итак, что вы в основном хотите, это изменить размер изображения, чтобы он соответствовал некоторым размерам с нагромождением этого соотношения и перетащить белым или прозрачным в пробелы? – Matyas