gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Image size, DPI (was Re: Gorm is broken)


From: Riccardo Mottola
Subject: Re: Image size, DPI (was Re: Gorm is broken)
Date: Tue, 03 May 2011 22:28:07 +0200
User-agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.4; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14

Hi,
Yes. However, the value 72 dpi is important in GNUstep/Cocoa because 1 point in 
the window's base coordinate system = 1 pixel, and a point is 1/72 inch. (even 
though it's an arbitrary number in some sense because no modern desktop screens 
are really as low resolution as 72 PDI).
yes it is actually just an arbitrary value. It wass actually the DPI of early dot-matrix impact printers... I don't think any NeXT machine had less than 90 dpi.
So drawing an image with 1 pixel = 1 pixel means treating the image as if it is 
72 DPI, which is what the code did before my patch, i.e. it set the dimensions 
in points to the dimensions in pixels.

I just checked on Cocoa and it ignores the dpi of PNG's and assumes them to be 
72dpi, however it reads and uses the dpi of TIFF's exactly as GNUstep does now. In 
addition, Cocoa supports multi-image TIFF's, something I would like to add support 
for to GNUstep. This means we can provide high-res versions of the default artwork 
which are only used when a scale factor>  1 is set.

Cocoa supprts also ICNS with multiple res images which is very good for things like icons in the workspace or the dock. It is also very good when supplying smaller images. For example 16x16 or 32x32 look much better if supplied instead of precomputed.

It makes no sense to ignore it by PNGs and use it by TIFFs. I'd say Cocoa is giving TIFF a preferential route.
I think your patch is wrong in concept: no developer would expect their button 
or any other gui element to be resized according to the display resolution. A 
pixel is a pixel in that case.
By default a pixel is a pixel. But when you set GSScaleFactor to a number other 
than 1, everything is scaled.

Using the DPI metadata means a slight inconvenience for people who don't use 
the scale factor feature (ensuring all images are set to 72dpi), but it allows 
providing high-resolution versions of images for when higher scale factors are 
used, so I think it makes sense.

I wonder how OpenStep handled this, I think the 72 dpi thing was inherited by mac classic.
If you find no resolution information you should then assume 72dpi.

Riccardo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]