Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Collection of breaking change ideas for next major version #1391

Open
olivervogel opened this issue Aug 11, 2024 · 4 comments
Open

Collection of breaking change ideas for next major version #1391

olivervogel opened this issue Aug 11, 2024 · 4 comments

Comments

@olivervogel
Copy link
Member

olivervogel commented Aug 11, 2024

Collection of ideas that would be nice to have but would introduce a BC and would therefore only be possible in the next major version.

Please note that this is an initial collection of ideas that may or may not be adopted.

@olivervogel olivervogel changed the title Collection of breaking change ideas for version 4 Collection of breaking change ideas for next major version Aug 11, 2024
@olivervogel
Copy link
Member Author

Standardization and simplification of offset parameters

To specify parameters for offsets, offset_x and offset_y are used in v3. The names could be catchier and simpler.

For example, just x or left instead of offset_x and y or top instead of offset_y.

@olivervogel
Copy link
Member Author

olivervogel commented Oct 26, 2024

More universal ColorInterface::create() method

Currently only string values of the colors are processed. It would also be nice if the values of the color channels could be specified directly.

use Intervention\Image\Colors\Rgb\Color;

// currently
$color = Color::create('rgb(255, 255, 255)');

// more universal
$color = Color::create('rgb(255, 255, 255)');
$color = Color::create(255, 255, 255);

@olivervogel
Copy link
Member Author

Change from scale (int) 0 - 100 to (float) 0 - 1, for more precise input options.

Many functions use 0 - 100 integers as the standard for inputs. For a more precise definition of values, you could consider switching to float values from 0 - 1.

  • 0 becomes 0
  • 25 becomes 0.25
  • 50 becomes 0.5
  • 75 becomes 0.75
  • 100 becomes 1

@olivervogel olivervogel pinned this issue Nov 17, 2024
@olivervogel
Copy link
Member Author

Switch to dedicated methods for reading

The universal method for reading images ImageManager::read() is convenient and has many advantages. However, it also has disadvantages compared to a group of specialised methods for each type of input. A change can be discussed.

// before
ImageManager::read();

// after
ImageManager::readFromFile();
ImageManager::readFromBinary();
ImageManager::readFromBase64();
ImageManager::readFromDataUri();
ImageManager::readFromStream();
ImageManager::readFromSplFileInfo();
ImageManager::readFromNative();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant