Ошибка при использовании метода setPixel класса QImage, Python |
Здравствуйте, гость ( Вход | Регистрация )
Ошибка при использовании метода setPixel класса QImage, Python |
zuze |
25.3.2013, 10:11
Сообщение
#21
|
Участник Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
lanz |
25.3.2013, 10:37
Сообщение
#22
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
setPixel сохраняет считанный байт в картинку. Т.е. она уже строится без всякого массива.
Кстати, почему бы не использовать QImage.load() или QPixmap.load()? |
|
|
zuze |
25.3.2013, 10:45
Сообщение
#23
|
Участник Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0 |
setPixel сохраняет считанный байт в картинку. Т.е. она уже строится без всякого массива. Вы предлагаете зделать так?
Возникает ошибка: TypeError: arguments did not match any overloaded call: QColor(Qt.GlobalColor): argument 1 has unexpected type 'tuple' QColor(int): argument 1 has unexpected type 'tuple' QColor(QVariant): too many arguments QColor(): too many arguments QColor(int, int, int, int alpha=255): argument 1 has unexpected type 'tuple' QColor(QString): argument 1 has unexpected type 'tuple' QColor(QColor): argument 1 has unexpected type 'tuple' Кстати, почему бы не использовать QImage.load() или QPixmap.load()? Так как у меня запрещено использовать загрузка файлов. |
|
|
lanz |
25.3.2013, 10:53
Сообщение
#24
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Нет, если надо скачать три компоненты цвета, то проще сразу загружать блоками по 3.
Почему запрещено использовать загрузку файлов? fp.read загружает из файла же. |
|
|
zuze |
25.3.2013, 10:59
Сообщение
#25
|
Участник Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0 |
Почему запрещено использовать загрузку файлов? Так как нельзя использовать накопители. fp.read загружает из файла же. Этот код в будущем будет заменён. Нет, если надо скачать три компоненты цвета, то проще сразу загружать блоками по 3.
Мне нужно так: Вы не правильно поняли, мне надо так:
На второй итерации чтобы было:
И так далее. |
|
|
Алексей1153 |
25.3.2013, 11:17
Сообщение
#26
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
|
|
|
zuze |
25.3.2013, 11:23
Сообщение
#27
|
Участник Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
lanz |
25.3.2013, 11:57
Сообщение
#28
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
http://docs.python.org/2/library/stringio.html
Например позволяет обращатся со строкой (массивом) как с файлом. QBuffer позволяет использовать QByteArray как файл. Цитата Мне нужно так: ... И так далее. fp.read (3) на каждой итерации считывает следующие три байта. Поэтому color[0] на каждой итерации будет разным. Вы же его печатали на экран и видели как он изменяется. |
|
|
zuze |
25.3.2013, 12:29
Сообщение
#29
|
Участник Группа: Участник Сообщений: 211 Регистрация: 4.11.2012 Пользователь №: 3589 Спасибо сказали: 0 раз(а) Репутация: 0 |
fp.read (3) на каждой итерации считывает следующие три байта. Поэтому color[0] на каждой итерации будет разным. Вы же его печатали на экран и видели как он изменяется. Я понял значит нужно так:
Но вот тут не понимаю, делаю такой код:
Я думал j будет меняться от 0 до 719, а i будет менятся от 491 до 0. С итерацией 1. А i и j какие-то левые результаты. |
|
|
lanz |
25.3.2013, 12:43
Сообщение
#30
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
|
|
|
Текстовая версия | Сейчас: 26.11.2024, 1:06 |