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

TODO list #532

Open
Danack opened this issue Jan 3, 2022 · 1 comment
Open

TODO list #532

Danack opened this issue Jan 3, 2022 · 1 comment

Comments

@Danack
Copy link
Collaborator

Danack commented Jan 3, 2022

I'm going to start maintaining a list of stuff that needs to be worked on, so that other people can see it, and I can stop trying to remember stuff in my head.

Undeprecate more functions

There's quite a few functions that were deprecated as they were deprecated in IM6. However BC breaks like this are kind of annoying, and for the majority of the functions, the functionality is still there, it just got renamed. A big list is here: #529

Some of these were put back in 3.6.0 already. I need to go through the rest.

Change phpimagick.com from using bootstrap to using CSS grid, so that images can be larger.

Not much to explain....bootstrap was fine at the time, but it's really silly to have a site that is supposed to be showing off images be restricted in how much
space is uses.

Add missing methods

There are a few functions that are still not implemented yet.

  • DrawGetTypeMetrics
  • MagickConnectedComponentsImage
  • MagickGetExceptionType
  • MagickDeleteImageProperty
  • MagickGetImageDistortions
  • MagickGetImageFeatures
  • MagickSetProgressMonitor
  • MagickSetSecurityPolicy
  • PixelGetIteratorExceptionType

Add my tests to the ImageMagick CI

There have been quite a few noticeable regressions in the ImageMagick api and the images produced. Between the tests in Imagick itself, and all of the examples on phpimagick.com there is a lot of testing that could be automated in ImageMagick's CI.

This would mostly be a case of getting something working, and then persuading the ImageMagick people to integrate it in their repo.

Time limit

Some image processing does take a while, and handling timeouts needs to be done better. There's a couple of issues for this:

Progress monitor isn't being tested correctly currently

Long story, I think it might be broken, and I haven't had the willpower to look at it.

Fonts

tbh fonts are kind of a shitshow. ImageMagick uses system fonts undereath, which is not really compatible with projects being able to manage their own fonts. Additionally the behaviour of specifying a single font file breaks quite a bit of ImagickDraw functionality e.g. setting the font style or italicness.

Variable fonts look to be a better fit for how people would actually expect fonts to work. And the ImageMagick people have an open mind for them.

SVG

SVG handling has ... not been as stable as it could be. I've deliberately avoided looking at this, as it's not something I care about, and without funding in place I'm not going to take focus on what would be huge amount of work, when there is stuff I care about more.

  • check the IM builting SVG, librsvg and inkscape delegates all work correctly.
  • add the different options to the CI.
  • add more tests to cover SVG reading and writing.

Enable caching on phpimagick.com again

It was broken during the large refactoring I to make the site easier to maintain.

Persuade someone to make the controls look nicer on phpimagick.com

I spent quite a bit of time to make the controls on phpimagick.com be easier to maintain, and be easier to use. However they currently look a bit crap, as they aren't aligned. Making stuff look nice on a web page is quite hard for me, so persuading someone else to make them look nice, would be nice.

Add MagickConnectedComponentsImage

As reported in #284

This will actually be a sizable chunk for work as the CCObjectInfo struct in ImageMagick will need to be exposed as a class in PHP, and it contains other structures, that will also need to be exposed as objects.

Imagickpixeliterator has a segfault

#530 - this should be fixed.

Document all of the functions that have been added in the past year.

Add examples on PHPimagick.com

The list of examples still needed is onhttps://phpimagick.com/todo.

Missing Imagick methods - 228
Missing ImagickDraw methods - 79
Missing ImagickPixel methods - 4
Missing ImagickPixelIterator methods - 16

I 've documented and simplified adding examples. If someone is looking to help, this would be a great way to do it, as each bit of work is relatively simple, and self-contained.

Go through examples that appear to not do anything

e.g. https://phpimagick.com/Imagick/houghLineImage - I don't understand what 'houghLineImage' is meant to do, and it appears to do nothing.

@Danack Danack pinned this issue Jan 3, 2022
@en-jschuetze
Copy link

Hello @Danack!

Can you add a release of the extension for 8.3.0 to the list? It currently seems to build seamlessly on master but buggy on the 3.7.0 release.

Best regards

Draco

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

2 participants