Я пытаюсь понять основы, стоящие за Pixbuf
и его заводскими методами new_from_data
и new_from_stream
.GdkPixbuf может быть создан с помощью `new_from_data` и` new_from_stream`. Почему последние не требуют разрешения?
new_from_data
требует строку байтов, содержащих данные изображения, и другую информацию, такую как бит на выборку, с и высотой изображения.
Я не понимаю, почему new_from_stream
не требует дополнительной информации об изображении. Затем, как может Pixbuf знать, как сделать изображение new_from_stream
не предоставляет никакой дополнительной информации, кроме Gio.InputStream
?
Благодарим за ответ. Мне было интересно: возможно ли (и эффективно) поддерживать pixbuf и изменять данные (данные аналогичны данным, предоставленным 'new_from_data')? Это связано с тем, что я опасаюсь, что 'new_from_stream' будет менее быстрым, так как ему нужно проанализировать формат изображения, следовательно, может оказаться непригодным для отображения видеороликов, созданных« на лету ». – fstab
Если вам нужно как-то слегка нажимать на картинку (например, каждый цикл розыгрыша), то изменение данных определенно звучит как _lot_ лучше, чем создание нового pixbuf каждый раз: выделение памяти занимает некоторое время ... Может быть, 'get_pixels()' для вас полезен , – jku
не является «байтовым» объектом (возвращаемым 'get_pixels()') неизменяемым в python? – fstab