Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions Tests/test_image.py
Original file line number Diff line number Diff line change
Expand Up @@ -466,18 +466,6 @@ def test_storage_neg(self):
with pytest.raises(ValueError):
Image.core.fill("RGB", (2, -2), (0, 0, 0))

def test_offset_not_implemented(self):
# Arrange
with hopper() as im:

# Act / Assert
with pytest.raises(NotImplementedError):
im.offset(None)

def test_fromstring(self):
with pytest.raises(NotImplementedError):
Image.fromstring()

def test_linear_gradient_wrong_mode(self):
# Arrange
wrong_mode = "RGB"
Expand Down
6 changes: 0 additions & 6 deletions Tests/test_image_frombytes.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import pytest
from PIL import Image

from .helper import assert_image_equal, hopper
Expand All @@ -9,8 +8,3 @@ def test_sanity():
im2 = Image.frombytes(im1.mode, im1.size, im1.tobytes())

assert_image_equal(im1, im2)


def test_not_implemented():
with pytest.raises(NotImplementedError):
Image.fromstring()
27 changes: 27 additions & 0 deletions docs/deprecations.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,33 @@ Removed features
Deprecated features are only removed in major releases after an appropriate
period of deprecation has passed.

im.offset
~~~~~~~~~

.. deprecated:: 1.1.2
.. versionremoved:: 8.0.0

``im.offset()`` has been removed, call ``ImageChops.offset()`` instead.

It was documented as deprecated in PIL 1.1.2,
raised a ``DeprecationWarning`` since 1.1.5,
an ``Exception`` since Pillow 3.0.0
and ``NotImplementedError`` since 3.3.0.

Image.fromstring, im.fromstring and im.tostring
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. deprecated:: 2.0.0
.. versionremoved:: 8.0.0

* ``Image.fromstring()`` has been removed, call :py:func:`.Image.frombytes()` instead.
* ``im.fromstring()`` has been removed, call :py:meth:`~PIL.Image.Image.frombytes()` instead.
* ``im.tostring()`` has been removed, call :py:meth:`~PIL.Image.Image.tobytes()` instead.

They issued a ``DeprecationWarning`` since 2.0.0,
an ``Exception`` since 3.0.0
and ``NotImplementedError`` since 3.3.0.

ImageCms.CmsProfile attributes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down
5 changes: 1 addition & 4 deletions docs/reference/Image.rst
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ This crops the input image with the provided coordinates:
.. automethod:: PIL.Image.Image.effect_spread
.. automethod:: PIL.Image.Image.entropy
.. automethod:: PIL.Image.Image.filter
.. automethod:: PIL.Image.Image.frombytes

This blurs the input image using a filter from the ``ImageFilter`` module:

Expand Down Expand Up @@ -196,7 +197,6 @@ This helps to get the bounding box coordinates of the input image:
.. automethod:: PIL.Image.Image.getpixel
.. automethod:: PIL.Image.Image.getprojection
.. automethod:: PIL.Image.Image.histogram
.. automethod:: PIL.Image.Image.offset
.. automethod:: PIL.Image.Image.paste
.. automethod:: PIL.Image.Image.point
.. automethod:: PIL.Image.Image.putalpha
Expand Down Expand Up @@ -243,7 +243,6 @@ This rotates the input image by ``theta`` degrees counter clockwise:
.. automethod:: PIL.Image.Image.thumbnail
.. automethod:: PIL.Image.Image.tobitmap
.. automethod:: PIL.Image.Image.tobytes
.. automethod:: PIL.Image.Image.tostring
.. automethod:: PIL.Image.Image.transform
.. automethod:: PIL.Image.Image.transpose

Expand All @@ -263,8 +262,6 @@ This flips the input image by using the :data:`FLIP_LEFT_RIGHT` method.

.. automethod:: PIL.Image.Image.verify

.. automethod:: PIL.Image.Image.fromstring

.. automethod:: PIL.Image.Image.load
.. automethod:: PIL.Image.Image.close

Expand Down
21 changes: 0 additions & 21 deletions src/PIL/Image.py
Original file line number Diff line number Diff line change
Expand Up @@ -746,11 +746,6 @@ def tobytes(self, encoder_name="raw", *args):

return b"".join(data)

def tostring(self, *args, **kw):
raise NotImplementedError(
"tostring() has been removed. Please call tobytes() instead."
)

def tobitmap(self, name="image"):
"""
Returns the image converted to an X11 bitmap.
Expand Down Expand Up @@ -802,11 +797,6 @@ def frombytes(self, data, decoder_name="raw", *args):
if s[1] != 0:
raise ValueError("cannot decode image data")

def fromstring(self, *args, **kw):
raise NotImplementedError(
"fromstring() has been removed. Please call frombytes() instead."
)

def load(self):
"""
Allocates storage for the image and loads the pixel data. In
Expand Down Expand Up @@ -1434,11 +1424,6 @@ def entropy(self, mask=None, extrema=None):
return self.im.entropy(extrema)
return self.im.entropy()

def offset(self, xoffset, yoffset=None):
raise NotImplementedError(
"offset() has been removed. Please call ImageChops.offset() instead."
)

def paste(self, im, box=None, mask=None):
"""
Pastes another image into this image. The box argument is either
Expand Down Expand Up @@ -2672,12 +2657,6 @@ def frombytes(mode, size, data, decoder_name="raw", *args):
return im


def fromstring(*args, **kw):
raise NotImplementedError(
"fromstring() has been removed. Please call frombytes() instead."
)


def frombuffer(mode, size, data, decoder_name="raw", *args):
"""
Creates an image memory referencing pixel data in a byte buffer.
Expand Down