Проверка изображения на размер сторон

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

fakecrisis

Client
Регистрация
01.07.2014
Сообщения
24
Реакции
0
Баллы
1
Здравствуйте. Подскажите пожалуйста как мне отбраковать картинки меньше 100px по любой стороне (высота\ширина).
Загружаю jpg, бывает попадаются 32*32px - их нужно не загружать. Как это лучше сделать?
 
Здравствуйте. Подскажите пожалуйста как мне отбраковать картинки меньше 100px по любой стороне (высота\ширина).
Загружаю jpg, бывает попадаются 32*32px - их нужно не загружать. Как это лучше сделать?
Свой код C#
Код:
Развернуть Свернуть Копировать
Image file = Image.FromFile(project.Variables["Путь_к_файлу"].Value);
if (file.Width < 100 || file.Height < 100)
{
    throw new Exception("Недопустимый размер");
}
 
Пробую вставить
Код:
Развернуть Свернуть Копировать
Image file = Image.FromFile(project.Variables["Путь_к_файлу"].Value);
if (file.Width < 100 || file.Height < 100)
{
    throw new Exception("Недопустимый размер");
}

Пробую вставить "Путь_к_файлу" урл картинки пишет: Выполнение кода Csharp owncode no such variable: http://***.ru/83838.jpg
Так же пробовал обработать локально файлы, прописывал:
Код:
Развернуть Свернуть Копировать
{-Project.Directory-}\images\{-Variable.img1-}.jpg
и просто урл
C:\Zeno\image\images\83838.jpg
и
{-Variable.img1-}.jpg
Ничего не получается. В отладке пишет: Компиляция кода Ошибка в действии CS "1009" Не распознанная управляющая последовательность

И еще не понял что писать в поле " Положить результат в переменную". Переменную я создал, но как этот блок будет работать и что туда писаться - не понял.

Буду благодарен за помощь.
 
Здравствуйте. Подскажите пожалуйста как мне отбраковать картинки меньше 100px по любой стороне (высота\ширина).
Загружаю jpg, бывает попадаются 32*32px - их нужно не загружать. Как это лучше сделать?

А какой тебе смысл неподходящие картинки вообще до Зенки допускать? Отбракуй их заранее.

436b02a69fbae08289a4d22575f6104e.jpg


Возьми ресайзер, выстави 1-ый фильтр 100 по ширине и увеличь все, которые меньше. Второй фильтр будет 100 по высоте. Для нас смысл не в том, что мы увеличиваем, а в том, что при увеличение мы получаем изображения с нестандартным расширением, и после ресайза мы сможем их просто скопом удалить.
 
zennomoves, спасибо за наводку на интересный софт.
Но задача немного в другом. я не точно выразился в первом сообщении получается.

Есть список урлов конкретных jpg, вроде такого: http://***.ru/image1.jpg ...
Мне нужно сохранить все что больше 32*32px.
В идеале мне бы их проверять не загружая на компьютер, но готов рассмотреть любые варианты. Ресайзить картинки - мне не подходит.
 
Или хотя отбраковывать загружаемые картинки меньше 1кб.. Может такой способ существует.
 
zennomoves, спасибо за наводку на интересный софт.
Но задача немного в другом. я не точно выразился в первом сообщении получается.

Есть список урлов конкретных jpg, вроде такого: http://***.ru/image1.jpg ...
Мне нужно сохранить все что больше 32*32px.
В идеале мне бы их проверять не загружая на компьютер, но готов рассмотреть любые варианты. Ресайзить картинки - мне не подходит.

Ааа... Ну тогда так (гетом забирай и сравнивай с любым числом):

6c89e9e65f51bc7bcf346c1d488fe255.png
 
  • Оценить
Реакции: fakecrisis
Спасибо большое. То что надо.

Можно в догонку еще один вопрос.
У меня сейчас вот такая логика. Есть список с 10 урлами картинок. Берем первый урл, открываем его, гетом узнаю ширину, сравниваю, сохраняю.
Как мне ускорить процесс, нужно максимально быстро 10 урлов обработать\сохранить картинки?
 
Спасибо большое. То что надо.

Можно в догонку еще один вопрос.
У меня сейчас вот такая логика. Есть список с 10 урлами картинок. Берем первый урл, открываем его, гетом узнаю ширину, сравниваю, сохраняю.
Как мне ускорить процесс, нужно максимально быстро 10 урлов обработать\сохранить картинки?

Ну, блин, если тебе просто скопом скачивать и сохранять, то почему-бы тебе без разбору все не скачать Download Master-ом, а потом ресайзером всё лишнее повыкидывать?

Если Зенкой, то 10 потоков параллельно запусти, и каждый параллельно скачает своё изображение, получится по времени почти как 1 изображение качаешь примерно.
 
Все скопом скачать не получится. Т.к на каждой разной странице (разные домены) находятся по 10 картинок. Которые мне сохранить нужно.

10 потов тоже не подходит. весь проект на файлах работает, временные данные пишутся в файлы и обрабатывать их 2 потока не получается. Теряются данные. Вижу вариант пока только через вкладки, но не сообразил как, что не пробую все равно идет последовательность (открыл - проверил - сохранил) в 1 поток.
 
Все скопом скачать не получится. Т.к на каждой разной странице (разные домены) находятся по 10 картинок. Которые мне сохранить нужно.

10 потов тоже не подходит. весь проект на файлах работает, временные данные пишутся в файлы и обрабатывать их 2 потока не получается. Теряются данные. Вижу вариант пока только через вкладки, но не сообразил как, что не пробую все равно идет последовательность (открыл - проверил - сохранил) в 1 поток.

А какая разница программе, на каких доменах твои картинки? Для неё главное полный урл изображения.

Временные файлы тоже не помеха. Организуй в проекте создание временного файла для своего использования с именем, которое будет создаваться символов из 30-ти с включением всех возможных составляющих. Вероятность создания 2-х одинаковых нереально мала. А в конце организуй удаление его же, чтобы диск не засорять.

Через вкладки не получится, потому что они обрабатываться будут внутри потока всё равно последовательно. Зенно не может в одном проекте обрабатывать данные параллельно, только последовательно.
 
Спасибо за идею про временные файлы. Буду пробовать.
 

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