PM 5.8.7.0 //изменить изображение толкьо по одной стороне

schnaps

Client
Регистрация
07.02.2010
Сообщения
837
Благодарностей
150
Баллы
43
я так понимаю при работе с экшеном "обработка изображений" нужно обязательно указывать и высоту и ширину.
стоит задача увеличить картинку до какого то значения в пикселях только по одной стороне. например по ширине, что тогда прописать в значение высоты?
придется считать новую высоту, которая станет у картинки при изменении ширины?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
а зачем увеличивать только одну сторону? чтобы картинка стала несмотрибельной?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 468
Благодарностей
8 690
Баллы
113
а зачем увеличивать только одну сторону? чтобы картинка стала несмотрибельной?
я думаю, Шнапс имел ввиду, что изменять одну сторону, а другая чтобы масштабировалась автоматически..
как это обычно бывает в графич. редакторах и просмотрщиках, где обычно предусмотрена галка "сохранять пропорции" - указываешь только ширину или только высоту и другая сторона автоматически изменяется пропорционально, не искажая изображение..
 
  • Спасибо
Реакции: schnaps

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 241
Благодарностей
5 847
Баллы
113
Если хотите сохранять пропорции при изменении размеров, то это возможно только в процентах. Если в пикселях, то какое значение ширины и высоты зададите, такое и будет в результате.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 707
Баллы
113
Тогда высчитывать надо)
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 468
Благодарностей
8 690
Баллы
113
ну вобщем было бы здорово, если бы галочка "сохранять пропорции" была..
нужная фича то..
а то недоавтоматизация прямо какая то..
:dm:(вы же волшебники и маги, не гоже дверь руками отворять, коли на это магия есть):an::D
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 241
Благодарностей
5 847
Баллы
113
ну вобщем было бы здорово, если бы галочка "сохранять пропорции" была..
нужная фича то..
а то недоавтоматизация прямо какая то..
:dm:(вы же волшебники и маги, не гоже дверь руками отворять, коли на это магия есть):an::D
Как писал в выше, сохранение пропорций работает, если задаете размеры в процентах. В пикселях невозможно. Microsoft Office, например, тоже только в процентах сохраняет пропорции.
 

LexxWork

Client
Регистрация
31.10.2013
Сообщения
1 190
Благодарностей
786
Баллы
113
C#:
var imagePath = @"D:\Zen\imagemagic\30.6.2015.png";

var newwidth = 1024;
var newheight = 2000;

var imgdir = Path.GetDirectoryName(imagePath);
var imgname = Path.GetFileNameWithoutExtension(imagePath);
var imgext = Path.GetExtension(imagePath);
var newpath = imgdir+"\\"+imgname+"_changed"+imgext;
using (var img = Image.FromFile(imagePath)){
    if(img.Width == newwidth && img.Height == newheight)
        return ""; //no changes
    var sor = img.Width > newwidth || img.Height > newheight;
    var rx = (double)img.Width/newwidth;
    var ry = (double)img.Height/newheight;
    var ratio = (sor)?Math.Max(rx, ry):Math.Min(rx, ry);
    var newW = (int)(img.Width/ratio);
    var newH = (int)(img.Height/ratio);
    var newimg = new Bitmap(img, newW, newH);
    newimg.Save(newpath);
    newimg.Dispose();
    return newpath;
}
есть платная версия, которая пережимает в jpg и удаляет метаданные
 
Последнее редактирование:

schnaps

Client
Регистрация
07.02.2010
Сообщения
837
Благодарностей
150
Баллы
43
я думаю, Шнапс имел ввиду, что изменять одну сторону, а другая чтобы масштабировалась автоматически..
как это обычно бывает в графич. редакторах и просмотрщиках, где обычно предусмотрена галка "сохранять пропорции" - указываешь только ширину или только высоту и другая сторона автоматически изменяется пропорционально, не искажая изображение..
да, именно это я и имел ввиду.
Тогда высчитывать надо)
не гуд, имхо. Вношу предложение реализовать :-))))
есть платная версия, которая пережимает в jpg и удаляет метаданные
спасибо, уже сам запилил :-)
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 241
Благодарностей
5 847
Баллы
113
не гуд, имхо. Вношу предложение реализовать :-))))
Это достаточно сложно реализовать. Параметры обработки настраиваются до выполнения экшна, т.е. до получения изображения. В обычном же редакторе изображений, сначала загружается изображение, потом идет настройка параметров.
Но мы подумаем над тем, чтобы в следующей версии добавить.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 468
Благодарностей
8 690
Баллы
113
Это достаточно сложно реализовать. Параметры обработки настраиваются до выполнения экшна, т.е. до получения изображения. В обычном же редакторе изображений, сначала загружается изображение, потом идет настройка параметров.
Но мы подумаем над тем, чтобы в следующей версии добавить.
мы то знаем, что у вас все получится! :dm::D
 
  • Спасибо
Реакции: VladZen

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)