Загрзука изображений [требуется либа]
Модератор: Модераторы разделов
- minoru-kun
- Сообщения: 620
- ОС: Debian GNU/Linux
Загрзука изображений [требуется либа]
В общем, требуется библиотека, обеспечивающая следующий функционал:
а) загрузка и распаковка картинки (распространенных форматов) в оперативную память (чем меньшим количеством операторов, тем лучше)
б) предоставление указателя и доступа на эту область оперативной памяти
Что пойдет?
а) загрузка и распаковка картинки (распространенных форматов) в оперативную память (чем меньшим количеством операторов, тем лучше)
б) предоставление указателя и доступа на эту область оперативной памяти
Что пойдет?
Re: Загрзука изображений [требуется либа]
Qt
Если нужно что то стандартное, то можно воспользоваться обычными либами, например libjpeg.
Если нужно что то стандартное, то можно воспользоваться обычными либами, например libjpeg.
- minoru-kun
- Сообщения: 620
- ОС: Debian GNU/Linux
Re: Загрзука изображений [требуется либа]
Qt
Не подходит по идеологическим причинам. К тому же, разве QImage позволяет обратиться к области памяти напрямую?
Если нужно что то стандартное, то можно воспользоваться обычными либами, например libjpeg.
Недавно посмотрел исходники с libpng. Капец сколько кода надо написать, всего лишь чтобы загрузить картинку...
Re: Загрзука изображений [требуется либа]
libpng и компания это сравнительно низкий уровень загрузки. Но если хочется точного контроля, я бы именно на них писал.
- minoru-kun
- Сообщения: 620
- ОС: Debian GNU/Linux
Re: Загрзука изображений [требуется либа]
Точный контроль загрузки пока что, не нужен. Только контролирования графики.
На libjpeg почему-то самый элементарный код засегфолтился. Да и необходимость подключения СИшных хидеров тоже не порадовала, однако:
p.s. так что там про QImage и поинтер на структуру памяти? :]
На libjpeg почему-то самый элементарный код засегфолтился. Да и необходимость подключения СИшных хидеров тоже не порадовала, однако:
Код: Выделить всё
using namespace std;
#include <cstdio>
#include <cassert>
#include "jpeglib.h"
#include <iostream>
int main (int argc, char** argv)
{
FILE *f = fopen(argv[1], "r");
assert (f != NULL);
jpeg_decompress_struct cinfo;
jpeg_create_decompress(&cinfo);
jpeg_stdio_src(&cinfo,f);
jpeg_read_header(&cinfo,TRUE);
cout << "JPEG image width = " << cinfo.output_width << " height = " << cinfo.output_height << endl;
}
p.s. так что там про QImage и поинтер на структуру памяти? :]
Re: Загрзука изображений [требуется либа]
Рули в Qt4-Assistant
Re: Загрзука изображений [требуется либа]
ImageMagic
Выбери свой язык http://www.imagemagick.org/script/api.php
Выбери свой язык http://www.imagemagick.org/script/api.php
все сказанное есть имхо...
- eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
- Контактная информация:
Re: Загрзука изображений [требуется либа]
uchar * QImage::bits ()
Returns a pointer to the first pixel data. This is equivalent to scanLine(0). ?
В дисгармонии со вселенной.
Re: Загрзука изображений [требуется либа]
Ребят, вопрос такой - а есть либы, грузящие картинки быстрее, чем QImage? Ибо 160мс - слишком медленно.
- eduard_pustobaev
- Сообщения: 2629
- Статус: Ленивец
- ОС: Arch/Debian.
- Контактная информация:
Re: Загрзука изображений [требуется либа]
Вообще-то странная постановка вопроса. Протестируйте. Либы в топике названы. Есть же libjpeg/libpng/...
Да и постановка вопроса интересная. Что QImage грузит любую картинку (из файла?) ровно 160мс?
P.S. Кстати насчёт DevIL. Плохо тем, что не во всех дистрах бывает. Да и не встречал прог её юзающих кроме SpringRTS.
В дисгармонии со вселенной.
Re: Загрзука изображений [требуется либа]
Посмотри GFLSDK, ее xnview использует. Я с ней когда-то работал, только я тегами занимался, а не самим изображением.