all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Luis Felipe López Acevedo" <felipe.lopez@openmailbox.org>
To: ludo@gnu.org
Cc: guix-devel@gnu.org
Subject: Re: [PATCH] system: grub: Convert grub background using rsvg-convert
Date: Fri, 28 Aug 2015 12:15:49 -0500	[thread overview]
Message-ID: <f73bbdb8d2eddf33ec34c3fc8628c6e8@openmailbox.org> (raw)
In-Reply-To: <87twrkwhs9.fsf@gnu.org>

On 2015-08-27 16:19, ludo@gnu.org wrote:
> Mark H Weaver <mhw@netris.org> skribis:
> 
>> This patch modifies 'svg->png' in (gnu system grub) to use 
>> rsvg-convert
>> instead of inkscape.  Inkscape is a rather heavy dependency to convert
>> an image.  This is important for users who choose to avoid binary
>> substitutes.
> 
> Good idea.

Sorry, I didn't see Mark's message because I'm away from the keyboard 
these days and inactive on the list, and I don't know until when.

>> The main difficulty here was that our SVG artwork is partially
>> transparent, and includes a "Background" layer with a checker-board
>> pattern.  I guess this layer is for convenience when editing in
>> Inkscape, and apparently Inkscape excludes the "Background" layer when
>> exporting to png.  Other tools render all layers.  Therefore, avoiding
>> Inkscape required code to remove that layer before conversion to png.
> 
> Fun.  :-)
> 
> If possible, I would rather remove said layer directly in the
> guix-artwork repo, or somehow make that layer invisible to
> rsvg-convert.  Luis Felipe: What’s your take on this?

If I understand correctly, the problem is transparency, right? I don't 
understand why transparency would be an issue when exporting PNG images, 
but I don't know how rsvg works.

In any case, the SVG has transparency in several parts:

- The logo.
- The checkerboard pattern (which is part of the design as in the slim 
login screen).
- The document/page background (inkscape:pageopacity="0").

Modifying the first to be fully opaque is time consuming, but can be 
done.

The checkerboard transparency is used to blend the little squares with 
the gradient of the dark rectangle bellow it. Making it opaque would 
break the design. So the only option I see there is to remove it.

The document background is what Inkscape refers to as "Background" when 
you export the PNG image from the command line:

     $ inkscape -e test-4-3.png GuixSD-fully-black-4-3.svg
     Background RRGGBBAA: ffffff00
     Area 0:0:1024:768 exported to 1024 x 768 pixels (90 dpi)
     Bitmap saved as: test-4-3.png

Modifying the document background does not affect the design at all, 
because we are using the dark rectangle on top of it as the background 
of the image, so it doesn't matter what the background of the document 
is.

Could it be that rsvg-convert is complaining about transparency in the 
page/document background and not about the transparency of the 
checkerboard pattern in the "Background" layer? Because it is not 
complaining about the transparency in the layer that contains the logo 
(which has transparency as well), is it?

If you want to try modifying only the document opacity, set 
«inkscape:pageopacity="0"» to 1. Graphically, this can be done from the 
Document Properties window in Inkscape (Shift+Ctrl+D). But I bet you 
already did that...

:(

-- 
Luis Felipe López Acevedo
http://sirgazil.bitbucket.org/

  reply	other threads:[~2015-08-28 17:16 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-23 18:23 [PATCH] system: grub: Convert grub background using rsvg-convert Mark H Weaver
2015-08-27 21:19 ` Ludovic Courtès
2015-08-28 17:15   ` Luis Felipe López Acevedo [this message]
2015-08-28 18:24     ` Mark H Weaver
2015-08-28 22:38       ` Luis Felipe López Acevedo
2015-08-29 13:55       ` Luis Felipe López Acevedo
2015-08-31  8:57     ` Andy Wingo
2015-08-31 21:05       ` Ludovic Courtès
2015-10-17 13:17       ` Ludovic Courtès

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=f73bbdb8d2eddf33ec34c3fc8628c6e8@openmailbox.org \
    --to=felipe.lopez@openmailbox.org \
    --cc=guix-devel@gnu.org \
    --cc=ludo@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/guix.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.