When I use imageapi GD it save all my jpegs in non progressive the same is for PNG's - they are not interlaced.

I think that imageapi GD must save all images in progressive/interlaced format because it will be more suitable for the web

MY FIX:
in (imageapi_gd.module)

AFTER
function imageapi_gd_image_close($image, $destination) {
$extension = str_replace('jpg', 'jpeg', $image->info['extension']);
$function = 'image'. $extension;
if (!function_exists($function)) {
return FALSE;
}

ADD THIS
imageinterlace($image->resource, 1);

P.S. Something like this should be also worked in imageapi Imagick component

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Druid’s picture

What are you talking about? Progressive and interlaced are two different things: interlaced paints every other line and then comes back and does the skipped lines. It was needed for TV because phosphor persistence was too short, and there would be noticeable flicker if you didn't use it (the top of the screen would fade enough before the next frame was painted to be annoying). Progressive (non-interlaced) scanning starts at the top and paints all the lines, one after the other. It is not suitable for most TVs, but is fine with computer displays, which typically store the entire frame buffer. Most computer graphics work these days is with non-interlaced progressive, which is considered better for Web use.

Start with http://en.wikipedia.org/wiki/Interlace for the facts. What exactly are you proposing be done, and why? Specifically, why are you calling for interlaced image files?

fresh2l’s picture

Interlaced image files are GIF, PNG, PGF and JPEG
http://en.wikipedia.org/wiki/Interlacing_(bitmaps)

But usually Interlaced Jpeg called as "progressive"
http://en.wikipedia.org/wiki/JPEG

There are no big difference between in progressive or non progressive when your connection speed is more than 10Mb. But if your speed is about 512k and you are trying to view 600k Jpeg image, than you will see the difference.

At least you should have add an option for turning on/off interlaced compression.

Druid’s picture

No, you're misreading it. I already explained "interlaced" versus "progressive scan". So-called "interlaced progressive JPEG", as referred to in the Wikipedia article is a somewhat misleading expression, IMO. It's neither fish nor fowl, according to the standard definition of "interlaced" and "progressive".

Now, if this special JPEG format (which, it says, is not widely supported) is what you're looking for, your code changes may do the trick. Just be aware that not every browser may be able to properly handle such images.

fresh2l’s picture

I don't think that some browsers will not able to support this format. I'm working as web developer about 4 years and all browsers in my tests are always support this format. I mean: opera, IE5,6,7,8, Firefox, Chrome, Konqueror,Safari and Opera mobile. In our company we are using progressive Jpegs in all web designs without any problems of incompatibility.

So it'll be very, very nice :) if imageApi will have an option to turn on/off interlaced compression.

InternetDevels’s picture

Version: 6.x-1.8 » 6.x-1.x-dev
Assigned: fresh2l » Unassigned
Category: task » feature
Status: Active » Needs review
FileSize
1.25 KB

this patch will adds checkbox for enable/disable Interlaced (Progressive) images support by imageapi_gd module

andypost’s picture

+++ b/imageapi_gd.moduleundefined
@@ -62,6 +68,9 @@ function imageapi_gd_image_close($image, $destination) {
+    imageinterlace($image->resource, 1);

Suppose this function has analog in ImageMagick because if it's not the API should have ability to emulate

Powered by Dreditor.

drewish’s picture

Status: Needs review » Fixed

Committed to 6.x-1.x

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.