mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-04-13 05:44:16 +03:00
Merge 849ffd6075
into 7d50816f0a
This commit is contained in:
commit
dd14d2e301
|
@ -3185,7 +3185,7 @@ def frombuffer(
|
|||
from . import ImagePalette
|
||||
|
||||
im.palette = ImagePalette.ImagePalette("RGB", im.im.getpalette("RGB"))
|
||||
im.readonly = 1
|
||||
im.readonly = im.im.readonly
|
||||
return im
|
||||
|
||||
return frombytes(mode, size, data, decoder_name, args)
|
||||
|
|
|
@ -319,7 +319,7 @@ class ImageFile(Image.Image):
|
|||
self.im = Image.core.map_buffer(
|
||||
self.map, self.size, decoder_name, offset, args
|
||||
)
|
||||
readonly = 1
|
||||
readonly = self.im.readonly
|
||||
# After trashing self.im,
|
||||
# we might need to reload the palette data.
|
||||
if self.palette:
|
||||
|
|
|
@ -3722,6 +3722,11 @@ _getattr_unsafe_ptrs(ImagingObject *self, void *closure) {
|
|||
);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
_getattr_readonly(ImagingObject *self, void *closure) {
|
||||
return PyLong_FromLong(self->image->readonly);
|
||||
}
|
||||
|
||||
static struct PyGetSetDef getsetters[] = {
|
||||
{"mode", (getter)_getattr_mode},
|
||||
{"size", (getter)_getattr_size},
|
||||
|
@ -3729,6 +3734,7 @@ static struct PyGetSetDef getsetters[] = {
|
|||
{"id", (getter)_getattr_id},
|
||||
{"ptr", (getter)_getattr_ptr},
|
||||
{"unsafe_ptrs", (getter)_getattr_unsafe_ptrs},
|
||||
{"readonly", (getter)_getattr_readonly},
|
||||
{NULL}
|
||||
};
|
||||
|
||||
|
|
|
@ -86,6 +86,7 @@ struct ImagingMemoryInstance {
|
|||
int bands; /* Number of bands (1, 2, 3, or 4) */
|
||||
int xsize; /* Image dimension. */
|
||||
int ysize;
|
||||
int readonly;
|
||||
|
||||
/* Colour palette (for "P" images only) */
|
||||
ImagingPalette palette;
|
||||
|
|
|
@ -59,6 +59,7 @@ ImagingNewPrologueSubtype(const char *mode, int xsize, int ysize, int size) {
|
|||
im->xsize = xsize;
|
||||
im->ysize = ysize;
|
||||
|
||||
im->readonly = 0;
|
||||
im->type = IMAGING_TYPE_UINT8;
|
||||
|
||||
if (strcmp(mode, "1") == 0) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user