IMv7 What is happening

Questions and postings pertaining to the usage of ImageMagick regardless of the interface. This includes the command-line utilities, as well as the C and C++ APIs. Usage questions are like "How do I use ImageMagick to create drop shadows?".
Post Reply
User avatar
anthony
Posts: 8883
Joined: 2004-05-31T19:27:03-07:00
Authentication code: 8675308
Location: Brisbane, Australia

IMv7 What is happening

Post by anthony »

xerenader wrote:I'm curios about what will be the features of IM7. Can you give me some features of it so that we can see if it will affect some of the features of our project? Right now we are using 6.7.3-1. Thanks.
IMv7 is currently only available form the SVN (alpha development - very buggy - things changing constantally)

Major features internally is any number of channels. Grey images (one channel) will actually be one channel (until colorspace changed) Extra channels allows better masking and will let operators abort computation for things like un-writable pixels. An transparency is actually stored as alpha values, not as matte values as it is in IMv6 (lots of calculation savings)

This will have lots of other impacts (mathematical composition for example, the old channel 'sync' flag, etc).

See Imagemagick Page...
http://imagemagick.org/script/porting.php

In the CLI "convert" will be replaced by "magick" which will allow the use of IM scripts, where options are being read from a file, OR from a pipeline (using a shell like tokenization - eg quotes and backslash escapes). Operations will really be performed immediately (in IMv6 they are actually done in groups) and errors and warning output immediately after each option.

This will allows the use of "magick" as a co-processor for Shell or PHP scripts where you run a single "magick" command in the background and the script feeds that command with options to perform. The separate process holds the images, continuously while returning required information back to the script so it can decide how to proceed, without needing intermediate images to be saved and running multiple IM commands.

Other changes will be merger and clean up of many options (depreciations, some re-organisation). Aalso the addition of a -read option to read images. That may not seem like much but it will allow "mogrify" to read in secondary images and handle 'image list operators' such as "-composite" (EG put a logo on multiple images - in place), where previously it wasn't able to do this.

For the main goals of Imv7, CLI, and argument escape handling, see....
http://www.imagemagick.org/Usage/bugs/
Anthony Thyssen -- Webmaster for ImageMagick Example Pages
https://imagemagick.org/Usage/
xerenader
Posts: 8
Joined: 2012-01-13T19:33:13-07:00
Authentication code: 8675308

Re: IMv7 What is happening

Post by xerenader »

I noticed that IM7 generally centered in channels. How about other stuffs like sophisticated text features:

- OpenType features, like proportional old style etc.
- Kerning, tracking
- All caps, Small caps, Super script, Subscript, Ligatures, Underline, Strikethrough
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: IMv7 What is happening

Post by fmw42 »

see http://www.imagemagick.org/script/comma ... n0#kerning

I would suppose that many of your features can be done by just finding an appropriate font?

Anyway, at this time I believe that most effort is on the big ticket items that require major changes. Other features can be added later and probably have not been thought about it too much. But you can provide your wish list to the developers. I believe that Anthony has a link that shows many of the requested or considered features. see http://www.imagemagick.org/Usage/bugs/I ... ations.txt
User avatar
anthony
Posts: 8883
Joined: 2004-05-31T19:27:03-07:00
Authentication code: 8675308
Location: Brisbane, Australia

Re: IMv7 What is happening

Post by anthony »

anthony wrote:I will however be sure that script tokenization part has not token limits. Though that does not help in other areas of the library.
Tokenizer on IMv7 handles any length string (even from a pipeline). I give it a token string of 8 million 'a' characters and had no problems, not even much time wise either as the test has no disk I/O.

I also ensured that tokenizer does not over use memory by simply assigning the normal default 4Kbyte strings when it needs a buffer. As such it starts with a modest 64 byte buffer and builds it up from their. I have seen some other places in IM code that seem to like to store overly long strings. (The name of a wand) and have made notes to look at this.

I have updated the IM v7 porting document with the Shell API changes made so far (bottom most section). It does not seem like much yet, but then most of the work is internal handling, rather than being visible externally.
ImageMagick Version 7 Porting Guide
http://www.imagemagick.org/script/porting.php
(give it a few hours to update web caches)

Most of the changes currently are the options being depreciated from IMv6. But once I finish adding 'region' handling and update the individual option error handling (to report the location of the option that failed), then more option changes will appear.

Note that lots of Shell API options are affected by the internal channel changes but have yet to be found or listed. And the changes have not migrated to the IMv7 specific 'command-line-options' page.
Anthony Thyssen -- Webmaster for ImageMagick Example Pages
https://imagemagick.org/Usage/
Post Reply