Как уменьшить вес фото при помощи Zennoposter?

trubiser

Client
Регистрация
02.12.2016
Сообщения
211
Благодарностей
14
Баллы
18
Всем привет!
Подскажите, если кто знает, как уменьшить вес фото при помощи Zennoposter?
Спасибо!
 

Buch

Client
Регистрация
15.02.2016
Сообщения
260
Благодарностей
75
Баллы
28
Удалить метаданные,в зенно вроде есть функция. Не уверен, т.к мне проще в фотошоп подготовить все.
 
  • Спасибо
Реакции: trubiser

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 227
Благодарностей
5 844
Баллы
113
  • Спасибо
Реакции: trubiser

trubiser

Client
Регистрация
02.12.2016
Сообщения
211
Благодарностей
14
Баллы
18
Удалить метаданные,в зенно вроде есть функция. Не уверен, т.к мне проще в фотошоп подготовить все.
Удалить метаданные хорошоая иде, но нужно именно сжать фото
 

trubiser

Client
Регистрация
02.12.2016
Сообщения
211
Благодарностей
14
Баллы
18

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 227
Благодарностей
5 844
Баллы
113

trubiser

Client
Регистрация
02.12.2016
Сообщения
211
Благодарностей
14
Баллы
18

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 227
Благодарностей
5 844
Баллы
113

Buch

Client
Регистрация
15.02.2016
Сообщения
260
Благодарностей
75
Баллы
28

trubiser

Client
Регистрация
02.12.2016
Сообщения
211
Благодарностей
14
Баллы
18

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
Когда-то делал такое.

Нужно добавить директиву (Директивы using и общий код)
C#:
using System.Drawing.Imaging;
C# код. Оригинальное изображение остаётся и создаётся новое изображение, сжатое по качеству с тем же именем и размерами, в директории проекта в папке Temp
C#:
string filePath = project.Variables["filePath"].Value; // путь к файлу из переменной проекта
string directory = project.Directory + @"\Temp\"; // директория нового файла
string newFilePath = directory + Path.GetFileName(filePath); // путь к новому файлу

// Проверяем существование директории
if (!Directory.Exists(directory))
    // Если директория не существует, то создаём
    Directory.CreateDirectory(directory);

// Создаем объект Image из файла с изображением
Image img = Image.FromFile(filePath);
// Задаем mime-тип (кодек изображения)
string mimeType = @"image/jpeg";
// Создаем объект, содержащий информацию о кодировке файла
ImageCodecInfo ici = null;
// Получаем кодеки для всех форматов изображений (Получаем список доступных кодеков)
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
// Находим нужный кодек изображения (image/jpeg)
foreach (ImageCodecInfo codec in codecs) {
    if (codec.MimeType == mimeType)
        ici = codec;
}
// Создаем объект с параметрами
EncoderParameters ep = new EncoderParameters(1);
// 100L (75L, 50L) - степень качества (чем меньше, тем меньше весит изображение и меньше качество)
ep.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 50L);
// Сохраняем изображение в заданной кодировке и с заданными параметрами
img.Save(newFilePath, ici, ep);
// Освобождаем все ресурсы, используемые объектом Image
img.Dispose();

// Возвращаем путь к новому файлу
return newFilePath;
 

trubiser

Client
Регистрация
02.12.2016
Сообщения
211
Благодарностей
14
Баллы
18
Когда-то делал такое.

Нужно добавить директиву (Директивы using и общий код)
C#:
using System.Drawing.Imaging;
C# код. Оригинальное изображение остаётся и создаётся новое изображение, сжатое по качеству с тем же именем и размерами, в директории проекта в папке Temp
C#:
string filePath = project.Variables["filePath"].Value; // путь к файлу из переменной проекта
string directory = project.Directory + @"\Temp\"; // директория нового файла
string newFilePath = directory + Path.GetFileName(filePath); // путь к новому файлу

// Проверяем существование директории
if (!Directory.Exists(directory))
    // Если директория не существует, то создаём
    Directory.CreateDirectory(directory);

// Создаем объект Image из файла с изображением
Image img = Image.FromFile(filePath);
// Задаем mime-тип (кодек изображения)
string mimeType = @"image/jpeg";
// Создаем объект, содержащий информацию о кодировке файла
ImageCodecInfo ici = null;
// Получаем кодеки для всех форматов изображений (Получаем список доступных кодеков)
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
// Находим нужный кодек изображения (image/jpeg)
foreach (ImageCodecInfo codec in codecs) {
    if (codec.MimeType == mimeType)
        ici = codec;
}
// Создаем объект с параметрами
EncoderParameters ep = new EncoderParameters(1);
// 100L (75L, 50L) - степень качества (чем меньше, тем меньше весит изображение и меньше качество)
ep.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 50L);
// Сохраняем изображение в заданной кодировке и с заданными параметрами
img.Save(newFilePath, ici, ep);
// Освобождаем все ресурсы, используемые объектом Image
img.Dispose();

// Возвращаем путь к новому файлу
return newFilePath;
Спасибо! То что надо! Сохраню себе!
 

trubiser

Client
Регистрация
02.12.2016
Сообщения
211
Благодарностей
14
Баллы
18
Нашел еще решение, программа ImageCompression.SB. Сжатие изображений.
Программа может обрабатывать фото в нескольких поддиректориях сразу, сохраняя структуру папок.
Сжимает фото с 2.5 мб до 40 кб.
Тоже вариант что надо!
 
  • Спасибо
Реакции: skiff и avtostopshik

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
756
Благодарностей
135
Баллы
43
Когда-то делал такое.

Нужно добавить директиву (Директивы using и общий код)
C#:
using System.Drawing.Imaging;
C# код. Оригинальное изображение остаётся и создаётся новое изображение, сжатое по качеству с тем же именем и размерами, в директории проекта в папке Temp
C#:
string filePath = project.Variables["filePath"].Value; // путь к файлу из переменной проекта
string directory = project.Directory + @"\Temp\"; // директория нового файла
string newFilePath = directory + Path.GetFileName(filePath); // путь к новому файлу

// Проверяем существование директории
if (!Directory.Exists(directory))
    // Если директория не существует, то создаём
    Directory.CreateDirectory(directory);

// Создаем объект Image из файла с изображением
Image img = Image.FromFile(filePath);
// Задаем mime-тип (кодек изображения)
string mimeType = @"image/jpeg";
// Создаем объект, содержащий информацию о кодировке файла
ImageCodecInfo ici = null;
// Получаем кодеки для всех форматов изображений (Получаем список доступных кодеков)
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
// Находим нужный кодек изображения (image/jpeg)
foreach (ImageCodecInfo codec in codecs) {
    if (codec.MimeType == mimeType)
        ici = codec;
}
// Создаем объект с параметрами
EncoderParameters ep = new EncoderParameters(1);
// 100L (75L, 50L) - степень качества (чем меньше, тем меньше весит изображение и меньше качество)
ep.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 50L);
// Сохраняем изображение в заданной кодировке и с заданными параметрами
img.Save(newFilePath, ici, ep);
// Освобождаем все ресурсы, используемые объектом Image
img.Dispose();

// Возвращаем путь к новому файлу
return newFilePath;
Скажи, а есть ли методы для сохранения изображения с заменой существующего?
 

simbioz

Client
Регистрация
31.08.2014
Сообщения
150
Благодарностей
27
Баллы
28
А как тут сделать так чтоб я сам указал папку для сохранения, а не так чтоб она сама создавалась?

C#:
string filePath = project.Variables["filePath"].Value; // путь к файлу из переменной проекта
string directory = project.Directory + @"\Temp\"; // директория нового файла
string newFilePath = directory + Path.GetFileName(filePath); // путь к новому файлу

// Проверяем существование директории
if (!Directory.Exists(directory))
    // Если директория не существует, то создаём
    Directory.CreateDirectory(directory);

// Создаем объект Image из файла с изображением
Image img = Image.FromFile(filePath);
// Задаем mime-тип (кодек изображения)
string mimeType = @"image/jpeg";
// Создаем объект, содержащий информацию о кодировке файла
ImageCodecInfo ici = null;
// Получаем кодеки для всех форматов изображений (Получаем список доступных кодеков)
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
// Находим нужный кодек изображения (image/jpeg)
foreach (ImageCodecInfo codec in codecs) {
    if (codec.MimeType == mimeType)
        ici = codec;
}
// Создаем объект с параметрами
EncoderParameters ep = new EncoderParameters(1);
// 100L (75L, 50L) - степень качества (чем меньше, тем меньше весит изображение и меньше качество)
ep.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 50L);
// Сохраняем изображение в заданной кодировке и с заданными параметрами
img.Save(newFilePath, ici, ep);
// Освобождаем все ресурсы, используемые объектом Image
img.Dispose();

// Возвращаем путь к новому файлу
return newFilePath;
 

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