Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> QImage записать в SQLite 
:(
    Опции темы
Majesty
Дата 7.1.2011, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 20.3.2005
Где: Almaty, Kazakhsta n

Репутация: нет
Всего: нет



Есть софтина, записывающая QImage в файл.
Нужно писать в SQLite.
Непонятно, как получить из QImage какой-нибудь подходящий тип данных.
PM MAIL WWW   Вверх
ufna
Дата 7.1.2011, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 4.4.2005
Где: Курган/СПб

Репутация: нет
Всего: 0



Загоняй в QByteArray
PM MAIL WWW Skype   Вверх
Majesty
Дата 7.1.2011, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 20.3.2005
Где: Almaty, Kazakhsta n

Репутация: нет
Всего: нет



Типа такого?
Код
      QImage image("test.png");
      QByteArray ba;
      QBuffer buf(&ba);
      image.save(&buf, "BMP");

PM MAIL WWW   Вверх
ufna
Дата 7.1.2011, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 75
Регистрация: 4.4.2005
Где: Курган/СПб

Репутация: нет
Всего: 0



Да, только формат в BMP не думаю что стоит делать, лучше этот аргумент по-умолчанию, имхо

Второй вариант сохранения - через QDataStream, тоже имеет право на жизнь.

Ну а ByteArray отлично кладется в БД
PM MAIL WWW Skype   Вверх
Majesty
Дата 7.1.2011, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 20.3.2005
Где: Almaty, Kazakhsta n

Репутация: нет
Всего: нет



Спасибо, попробую.
BMP - это просто копипаст, реально мне нужен PNG/JPG (скорее всего PNG).
Правильно ли я переписал код на питоне? (с питоном я, можно сказать, второй раз дело имею)
Код
# image = QImage(self._page.viewportSize(), QImage.Format_ARGB32)
...
                    ba = QByteArray()
                    buff = QBuffer(ba)
                    image.save(buff, options.format)
                    params = (ba, "image/%s"%options.format, time(), row['url'])
...
                    s_curs.execute("UPDATE screenshots SET data=?, mime=?, created=? WHERE filename=?", params)
Это программа для снятия скриншотов webkit2png.py, которую я модифицирую под свои потребности.

Это сообщение отредактировал(а) Majesty - 7.1.2011, 18:08
PM MAIL WWW   Вверх
Majesty
Дата 7.1.2011, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 20.3.2005
Где: Almaty, Kazakhsta n

Репутация: нет
Всего: нет



Что-то не едут лыжи... 
Цитата
                    ba = QByteArray();
                    buff = QBuffer(ba);
                    image.save(buff, format)
                    now = int(math.floor(time.time()))
                    params = (ba, "image/%s"%format, now, row['url'])
...
Traceback (most recent call last):
  File "./webkit2png.py", line 228, in __on_exec
    s_curs.execute("UPDATE screenshots SET data=?, mime=?, created=? WHERE filename=?", params)
  File "/usr/lib/python2.6/dist-packages/sqlite/main.py", line 255, in execute
    self.rs = self.con.db.execute(SQL % parms)
TypeError: not all arguments converted during string formatting
как быть?

Это сообщение отредактировал(а) Majesty - 7.1.2011, 18:51
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Разработка GUI | Следующая тема »


 




[ Время генерации скрипта: 0.0915 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.