J'essaie de comprendre les bases derrière Pixbuf
et ses méthodes d'usine new_from_data
et new_from_stream
.GdkPixbuf peut être créé avec `new_from_data` et` new_from_stream`. Pourquoi ce dernier ne nécessite-t-il pas la résolution?
new_from_data
requiert une chaîne d'octets contenant les données d'image et d'autres informations telles que des bits par échantillon, avec et hauteur d'image.
Ce que je ne comprends pas pourquoi new_from_stream
ne nécessite pas les informations d'image supplémentaires. Alors, comment le Pixbuf sait-il comment rendre l'image? new_from_stream
ne fournit pas d'information supplémentaire autre que le Gio.InputStream
?
Merci pour la réponse. Je me demandais: serait-il possible (et efficace) de garder un pixbuf et de changer les données (données similaires à celle fournie par 'new_from_data')? Cela parce que je crains que 'new_from_stream' soit moins rapide car il a besoin d'analyser un format d'image, ce qui pourrait ne pas convenir à l'affichage de vidéos générées à la volée. – fstab
Si vous avez besoin de toucher l'image souvent (comme chaque cycle de dessin), modifier les données semble définitivement mieux que de créer un pixbuf à chaque fois: l'allocation de mémoire prend du temps ... Peut-être que 'get_pixels()' est utile pour vous . – jku
n'est pas un objet "bytes" (celui retourné par 'get_pixels()') immuable en python? – fstab