crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Размеры изображения
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
lanz Дата 10.4.2013, 13:33
  Обратите внимание кстати, что картинка которую вы приложили имеет расширение jpg и mime image/jpeg, но заголовок у нее png и вообще она в формате png. Qt, когда загружает картинки определяет тип изходя из расширения, поэтому вполне вероятно что он не смог загрузить png с помощью jpg загрузчика.
sanaforewer Дата 10.4.2013, 11:15
 
Цитата(lanz @ 10.4.2013, 10:49) *
Я написал почему это может быть. Проверьте isNull изображений, если он возвращает true, значит Qt не может их загрузить из-за отсутствующего плагина или по другой причине.


Спасибо вам. И правда - isNull для тех самых изображений вернул true
lanz Дата 10.4.2013, 10:49
 
Цитата
Qt тут вообще не учавствовал.


А это что?
Цитата
QImage img(dir.absoluteFilePath(file));


Цитата
Он удалил почти все большие, но парочку оставил.

Я написал почему это может быть. Проверьте isNull изображений, если он возвращает true, значит Qt не может их загрузить из-за отсутствующего плагина или по другой причине.
sanaforewer Дата 10.4.2013, 10:25
 
Цитата(lanz @ 10.4.2013, 8:50) *
Психические силы подсказывают мне что остались только jpg файлы.
Кроме того они подсказывают, что программа работает на машине разработчика с установленным Qt SDK.

Нужно сделать проверку на то что изображение действительно загрузилось(например isNull ()).
У незагруженного изображения ширина и высота - 0, что меньше 64.

Если психические силы меня не подводят, то прорамме не хватает плагина jpeg.
http://stackoverflow.com/questions/6724606...-my-application

изображения я загружал с помощью PHP. Qt тут вообще не учавствовал. Я только хочу чтобы Qt удалил те, что больше чем 64*64. Он удалил почти все большие, но парочку оставил.
lanz Дата 10.4.2013, 8:50
  Психические силы подсказывают мне что остались только jpg файлы.
Кроме того они подсказывают, что программа работает на машине разработчика с установленным Qt SDK.

Нужно сделать проверку на то что изображение действительно загрузилось(например isNull ()).
У незагруженного изображения ширина и высота - 0, что меньше 64.

Если психические силы меня не подводят, то прорамме не хватает плагина jpeg.
http://stackoverflow.com/questions/6724606...-my-application
sanaforewer Дата 10.4.2013, 7:16
  В общем цель - перебрать все изображения в папке и удалить те, что больше размеров 64*64 пикселя

Вот код

QDir dir("G:/Program_Files_2/Apache2.2/htdocs/temp");
QStringList listFiles = dir.entryList(QDir::Files);//("*.jpg", QDir::Files);
foreach (QString file, listFiles) {
QImage img(dir.absoluteFilePath(file));
if((img.width() <= 64)&&(img.height() <= 64)){
QFile file(dir.absoluteFilePath(file));
qDebug() << file.fileName();
}
else{
QFile file(dir.absoluteFilePath(file));
file.remove();
}
}

Результат - из 96 изображений в папке удалил все лишние - НО некоторые изображения, больше чем 64*64 - оставил одно из них прикрепил.
Что не так?

и притом - те изображения, которые остались не удалёнными - их имена есть в Debug, то есть их распознало как изображения и мол размер их меньше чем 64*64.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.4.2024, 8:14