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

  • Автор темы Автор темы trubiser
  • Дата начала Дата начала

trubiser

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

Нужно добавить директиву (Директивы 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;
 
Когда-то делал такое.

Нужно добавить директиву (Директивы 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;

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

Нужно добавить директиву (Директивы 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;
Скажи, а есть ли методы для сохранения изображения с заменой существующего?
 
А как тут сделать так чтоб я сам указал папку для сохранения, а не так чтоб она сама создавалась?

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;
 

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