<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; gtk/cairo - Добавление прозрачности в изображение.]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=12396</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=12396&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «gtk/cairo - Добавление прозрачности в изображение.».]]></description>
		<lastBuildDate>Thu, 31 Mar 2011 11:38:05 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: gtk/cairo - Добавление прозрачности в изображение.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=163181#p163181</link>
			<description><![CDATA[<p>Написал такой некачественный код:<br /></p><div class="codebox"><pre><code>    unsigned char *t = cairo_image_surface_get_data(surf);
    gint i;
    for(i = 0; i &lt; 32*32*4; i += 4){
        if((t[i] == 0xFF)&amp;(t[i+1] == 0xFF)&amp;(t[i+2] == 0xFF)&amp;(t[i+3] == 0xFF)){
            t[i] = 0;
            t[i+1] = 0;
            t[i+2] = 0;
            t[i+3] = 0;
        }
    }</code></pre></div><p>Работает! (делает белый непрозрачный чёрным прозрачным)<br />Может кто знает другие варианты?</p>]]></description>
			<author><![CDATA[null@example.com (SkaarjZR)]]></author>
			<pubDate>Thu, 31 Mar 2011 11:38:05 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=163181#p163181</guid>
		</item>
		<item>
			<title><![CDATA[gtk/cairo - Добавление прозрачности в изображение.]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=162971#p162971</link>
			<description><![CDATA[<p>Есть изображение. Нужно сделать определённый цвет прозрачным. Но как?</p><p>Должно, вроде бы, легко решаться с помощью cairo, но я уже обгуглися и обчитался мануалов и не нашёл решения.</p><p>Вот кусочек кода, я уже пробовал маскирование, паттерны и пр.<br /></p><div class="codebox"><pre><code>    cairo_surface_t *surf;
    surf = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 32, 32);
    cairo_t *cr;
    cr = cairo_create(surf);
    gdk_cairo_set_source_pixbuf(cr, pixbuf, 0, 0);
    cairo_rectangle(cr, 0, 0, 32, 32);
    cairo_clip(cr);
    cairo_paint(cr);</code></pre></div><p>Получаем изображение на плоскости. Как сделать так, чтобы чёрный цвет в этом изображении исчез?</p>]]></description>
			<author><![CDATA[null@example.com (SkaarjZR)]]></author>
			<pubDate>Wed, 30 Mar 2011 20:27:38 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=162971#p162971</guid>
		</item>
	</channel>
</rss>
