Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2011, 16:59   #1
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию Создание изображения с нужным разрешением.

Есть функция, которая рисует графики на форме и ,соответственно, они масштабируются в зависимости от разрешения экрана. Не очень хочется переписывать все алгоритмы,но надо сохранить скрины с разрешением большим, чем разрешение экрана. Каким образом это можно сделать? Есть ли какие-нибудь соображения на сей счет?..
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 20.05.2011, 18:19   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Вот нашел пару примеров:
Код:
public void ResizeImage(string OriginalFile, string NewFile, int NewWidth, int MaxHeight, bool OnlyResizeIfWider)
{
	System.Drawing.Image FullsizeImage = System.Drawing.Image.FromFile(OriginalFile);

	// Prevent using images internal thumbnail
	FullsizeImage.RotateFlip(System.Drawing.RotateFlipType.Rotate180FlipNone);
	FullsizeImage.RotateFlip(System.Drawing.RotateFlipType.Rotate180FlipNone);

	if (OnlyResizeIfWider)
	{
		if (FullsizeImage.Width <= NewWidth)
		{
			NewWidth = FullsizeImage.Width;
		}
	}

	int NewHeight = FullsizeImage.Height * NewWidth / FullsizeImage.Width;
	if (NewHeight > MaxHeight)
	{
		// Resize with height instead
		NewWidth = FullsizeImage.Width * MaxHeight / FullsizeImage.Height;
		NewHeight = MaxHeight;
	}

	System.Drawing.Image NewImage = FullsizeImage.GetThumbnailImage(NewWidth, NewHeight, null, IntPtr.Zero);

	// Clear handle to original file so that we can overwrite it if necessary
	FullsizeImage.Dispose();

	// Save resized picture
	NewImage.Save(NewFile);
}
Код:
/// <summary>
/// method for resizing an image
/// </summary>
/// <param name="img">the image to resize</param>
/// <param name="percentage">Percentage of change (i.e for 105% of the original provide 105)</param>
/// <returns></returns>
public Image Resize(Image img, int percentage)
{
    //get the height and width of the image
    int originalW = img.Width;
    int originalH = img.Height;

    //get the new size based on the percentage change
    int resizedW = (int)(originalW * percentage);
    int resizedH = (int)(originalH * percentage);

    //create a new Bitmap the size of the new image
    Bitmap bmp = new Bitmap(resizedW, resizedH);
    //create a new graphic from the Bitmap
    Graphics graphic = Graphics.FromImage((Image)bmp);
    graphic.InterpolationMode = InterpolationMode.HighQualityBicubic;
    //draw the newly resized image
    graphic.DrawImage(img, 0, 0, resizedW, resizedH);
    //dispose and free up the resources
    graphic.Dispose();
    //return the image
    return (Image)bmp;
}
Hollander вне форума Ответить с цитированием
Старый 21.05.2011, 09:02   #3
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Логично... сделать скрин отрисованного экрана и увеличить изображение.. спасибо Hollander..)
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание VML-изображения -=aHTPoПоС=- Помощь студентам 0 15.12.2010 19:56
Создание новой формы с нужным количеством строк. konistra Microsoft Office Excel 13 01.06.2010 23:28
Создание трехмерного изображения Альбина_88 Помощь студентам 7 10.11.2009 00:28
Сохранить с нужным именем maikoms Microsoft Office Excel 4 20.03.2009 11:44
Рендеринг изображения - создание отражения BOBAH13 Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 18.01.2009 16:27