all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: no-spam@cua.dk (Kim F. Storm)
Cc: emacs-devel@gnu.org
Subject: Re: Several suggestions for image support
Date: 16 Apr 2004 16:02:52 +0200	[thread overview]
Message-ID: <m3k70g6mwj.fsf@kfs-l.imdomain.dk> (raw)
In-Reply-To: <wlzn9cgtjy.wl@church.math.s.chiba-u.ac.jp>

YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> writes:

> >>>>> On 16 Apr 2004 02:21:11 +0200, David Kastrup <dak@gnu.org> said:
>
> > PNG images support transparency.  Emacs can't make use of it.  You
> > can only have Emacs declare a particular color as transparent.  This
> > is dissatisfactory.  It should tell the PNG decoding routines Emacs'
> > background color for the purpose of transparency.
>
> As for PNG transparency, there was one thing that I noticed (and I've
> been forgotten to tell about it) while I was porting image support to
> Carbon Emacs.
>
> In png_load (image.c):
>
> 	      user_bg.red = color.red >> PNG_BG_COLOR_SHIFT;
> 	      user_bg.green = color.green >> PNG_BG_COLOR_SHIFT;
> 	      user_bg.blue = color.blue >> PNG_BG_COLOR_SHIFT;
>
> 	      fn_png_set_background (png_ptr, &user_bg,
> 				     PNG_BACKGROUND_GAMMA_SCREEN, 0, 1.0);
>
> I think the background color should be specified in 8-bit depth here
> (thus PNG_BG_COLOR_SHIFT should be 8 for all the platforms) because
> the 4th argument (aka need_expand) for fn_png_set_background is 0 and
> the image data has been normalized in 8-bit depth at this stage.

I can indeed see that 8-bit shift is the right setting on X.

>                                                                   You
> can observe the difference using
> http://www.w3.org/Graphics/PNG/alphatest.png.  The same thing is also
> applied to the other place (in png_load) where fn_png_set_background
> is called with its 4th argument 0.

You are right.  Shifting 8 bits here as well on X fixes transparent bg.
I will commit a fix for X shortly.


However, on W32, it seems that it explicitly scales things to 16 bits
in both cases.  I cannot test this on W32, so I cannot say what's
the right thing to do.

Here is an easy way to test it -- after downloading the image you
mentioned:

(insert-image (create-image "alphatest.png"))

this should result in a light blue image with nice rounded
edges; a darker blue with rough edges indicates a problem.

--
Kim F. Storm <storm@cua.dk> http://www.cua.dk

  reply	other threads:[~2004-04-16 14:02 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-16  0:21 Several suggestions for image support David Kastrup
2004-04-16  9:29 ` YAMAMOTO Mitsuharu
2004-04-16 14:02   ` Kim F. Storm [this message]
2004-04-16 12:50     ` Jason Rumney
2004-04-16 16:59       ` Kim F. Storm
2004-04-16 15:18         ` Jason Rumney
2004-04-16 10:22 ` Kim F. Storm
2004-04-16  9:09   ` Jason Rumney
2004-04-16 10:06   ` David Kastrup
2004-04-16 12:38     ` Kim F. Storm
2004-04-16 11:09       ` Jason Rumney
2004-04-16 11:34         ` David Kastrup
2004-04-16 12:29           ` Jason Rumney
2004-04-16 12:56             ` David Kastrup
2004-04-16 17:08         ` Kim F. Storm
2004-04-16 13:39     ` Stefan Monnier
2004-04-16 13:49       ` David Kastrup
2004-04-17  7:16 ` Richard Stallman
2004-04-17 13:02   ` Werner LEMBERG
2004-04-17 19:24     ` David Kastrup
2004-04-17 18:03   ` David Kastrup
2004-04-18 21:30     ` Kim F. Storm
2004-04-19  1:51       ` Stefan Monnier
2004-04-19  7:57         ` David Kastrup
2004-04-19 10:34           ` Kim F. Storm
2004-04-19 14:29             ` Stefan Monnier
2004-04-19 15:17               ` David Kastrup
2004-04-19 15:37                 ` Stefan Monnier
2004-04-19 15:56         ` Kim F. Storm
2004-04-19 14:15           ` David Kastrup
2004-04-19 21:59             ` Kim F. Storm
2004-04-21  0:53         ` Kim F. Storm
2004-04-21  1:08 ` Kim F. Storm
2004-04-20 23:31   ` David Kastrup
2004-04-21  3:04     ` Piet van Oostrum
2004-04-22  0:43       ` Kim F. Storm
2004-04-22  1:18         ` YAMAMOTO Mitsuharu
2004-04-22 22:03           ` Piet van Oostrum
2004-04-23  4:02             ` YAMAMOTO Mitsuharu
2004-04-24 14:48               ` Piet van Oostrum
2004-04-21 10:10     ` Kim F. Storm
2004-04-21  8:51       ` David Kastrup
2004-04-21 12:51         ` Kim F. Storm
2004-04-22 17:40       ` Richard Stallman
2004-04-22 18:17         ` David Kastrup
2004-04-24 14:26           ` Richard Stallman
2004-04-22 23:53         ` Kim F. Storm
2004-04-22 23:02           ` David Kastrup
2004-04-23 12:36             ` Kim F. Storm
2004-04-23 15:02             ` Stefan Monnier
2004-04-23 15:05               ` David Kastrup
2004-04-23  0:33           ` Kenichi Handa
2004-04-23  0:51             ` David Kastrup
2004-04-23 12:58               ` Kenichi Handa
2004-04-23 14:53                 ` David Kastrup
2004-04-24 14:27               ` Richard Stallman
2004-04-24 15:16                 ` David Kastrup
2004-04-25  1:56             ` Kim F. Storm
2004-04-25  2:06               ` David Kastrup
2004-04-26  9:38                 ` Kim F. Storm
2004-04-27  0:34                   ` Kim F. Storm
2004-04-26 22:50                     ` David Kastrup
2004-04-27  1:30                       ` Miles Bader
2004-04-27  9:30                         ` Kim F. Storm
2004-04-27 13:22                           ` David Kastrup
2004-04-27 14:00                             ` David Kastrup
2004-04-28 10:12                               ` Richard Stallman
2004-04-28 10:58                                 ` David Kastrup
2004-04-29  0:29                                   ` Kim F. Storm
2004-04-28 22:52                                     ` David Kastrup
2004-04-29 13:31                                   ` Richard Stallman
2004-04-29  2:06                     ` Kenichi Handa
2004-04-29 10:00                       ` Kim F. Storm
2004-04-30  1:54                         ` Kenichi Handa
2004-04-29  2:20               ` Kenichi Handa
2004-04-25 18:09           ` Richard Stallman
2004-04-29  0:17             ` Kim F. Storm
2004-04-28 23:02               ` David Kastrup
2004-04-29  9:51                 ` Kim F. Storm
2004-04-29  8:08                   ` David Kastrup
2004-04-29 11:24                     ` Kim F. Storm
2004-04-30  1:07                 ` Kim F. Storm
2004-04-30 11:31                   ` David Kastrup
2004-04-30 14:21                     ` Kim F. Storm
2004-04-30 13:30                       ` David Kastrup
2004-04-30 13:49                       ` preview-latex in Emacs (was: Several suggestions for image support) Stefan Monnier
2004-05-01  9:44                   ` Several suggestions for image support Richard Stallman
2004-05-01 19:56                     ` Kim F. Storm
2004-05-02 19:52                       ` Richard Stallman
2004-05-03  9:19                         ` David Kastrup
2004-04-30  9:02               ` Richard Stallman
2004-04-30 11:27                 ` David Kastrup
2004-04-30 14:19                   ` Kim F. Storm
     [not found]   ` <E1BGiB8-00087H-Tz@fencepost.gnu.org>
     [not found]     ` <x5brljkgk5.fsf@lola.goethe.zz>
2004-04-22 23:32       ` Kim F. Storm
2004-04-22 21:50         ` David Kastrup

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3k70g6mwj.fsf@kfs-l.imdomain.dk \
    --to=no-spam@cua.dk \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.