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

fakecrisis

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

Dimionix

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

fakecrisis

Client
Регистрация
01.07.2014
Сообщения
24
Благодарностей
0
Баллы
1
Пробую вставить
Код:
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" Не распознанная управляющая последовательность

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

Буду благодарен за помощь.
 

zennomoves

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



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

fakecrisis

Client
Регистрация
01.07.2014
Сообщения
24
Благодарностей
0
Баллы
1
zennomoves, спасибо за наводку на интересный софт.
Но задача немного в другом. я не точно выразился в первом сообщении получается.

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

fakecrisis

Client
Регистрация
01.07.2014
Сообщения
24
Благодарностей
0
Баллы
1
Или хотя отбраковывать загружаемые картинки меньше 1кб.. Может такой способ существует.
 

zennomoves

Client
Регистрация
05.12.2011
Сообщения
235
Благодарностей
72
Баллы
28
zennomoves, спасибо за наводку на интересный софт.
Но задача немного в другом. я не точно выразился в первом сообщении получается.

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

 
  • Спасибо
Реакции: fakecrisis

fakecrisis

Client
Регистрация
01.07.2014
Сообщения
24
Благодарностей
0
Баллы
1
Спасибо большое. То что надо.

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

zennomoves

Client
Регистрация
05.12.2011
Сообщения
235
Благодарностей
72
Баллы
28
Спасибо большое. То что надо.

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

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

fakecrisis

Client
Регистрация
01.07.2014
Сообщения
24
Благодарностей
0
Баллы
1
Все скопом скачать не получится. Т.к на каждой разной странице (разные домены) находятся по 10 картинок. Которые мне сохранить нужно.

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

zennomoves

Client
Регистрация
05.12.2011
Сообщения
235
Благодарностей
72
Баллы
28
Все скопом скачать не получится. Т.к на каждой разной странице (разные домены) находятся по 10 картинок. Которые мне сохранить нужно.

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

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

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

fakecrisis

Client
Регистрация
01.07.2014
Сообщения
24
Благодарностей
0
Баллы
1
Спасибо за идею про временные файлы. Буду пробовать.
 

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