Показаны сообщения с ярлыком resize. Показать все сообщения
Показаны сообщения с ярлыком resize. Показать все сообщения

суббота, 23 октября 2010 г.

Amazon. Виртуальные машины. Про дисковое пространство.

Оказалось, что в описании машин устаревшая информация о размерах дисков. Я долго ломал голову и пробовал уменьшать образы (к слову - это были тестовые образы по 20 - 40 гиг, и использовал я micro-instance, т.к. это самый дешевый вариант для тестов)... Но после уменьшения - машина либо не стартовала, либо не отвечала по ssh (что скорее всего означало то, что опять таки не запустилась).

Вобщем я рискнул и создал High Memory Extra Large, в инфо о котором написано о 420 Гиг диске. Выбрал образ Amazon 64bit. Ну и к моей радости после добавления я увидел, что к машине подключен образ всего то 10 Гиг! Ура!

Смысл в том, что мне не нужно было указанных 420 Гиг, а нужно было всего то 100-200. И очень не хотелось платить за излишек. Так что теперь и не придется.

Однако стоит упомянуть и про увеличение размера диска. Так вот - увеличение работает! Шаги :
  1. Сделать snapshot с нужного образа
  2. Сделать новый образ из snapshot`а, при этом будет возможность изменить размер
  3. Заменить исходный образ или подключить новый к машине
  4. Подмонтировать новый диск в lunix`e (странно, но при использовании образа амазоновского линукса, диски монтируются как xvda вместо sda)
  5. Воспользоватся resize2fs утилитой

Все! После - нужно перезапустить машину. Да, кстати, увеличивать можно даже тот образ, с которого загрузилась машина.

пятница, 9 июля 2010 г.

dot.Net c# - Подрезка и изменение размера изображения.

System.Drawing.Image image = System.Drawing.Image.FromFile(src);  
int srcWidth=image.Width;
int srcHeight=image.Height; 
int thumbHeight=(srcHeight/srcWidth)*thumbWidth;
Bitmap bmp = new Bitmap(thumbWidth, thumbHeight);  

System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp); 
gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality  ; 
gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; 
gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; 

System.Drawing.Rectangle rectDestination = new System.Drawing.Rectangle(0, 0, thumbWidth, thumbHeight);
gr.DrawImage(image, rectDestination, 0, 0, srcWidth, srcHeight, GraphicsUnit.Pixel);  

bmp.Save(dest); 
  
bmp.Dispose();
image.Dispose();