<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; gtk/cairo - Добавление прозрачности в изображение.]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=12396&amp;type=atom" />
	<updated>2011-03-31T11:38:05Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=12396</id>
		<entry>
			<title type="html"><![CDATA[Re: gtk/cairo - Добавление прозрачности в изображение.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=163181#p163181" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[SkaarjZR]]></name>
				<uri>https://linuxforum.ru/profile.php?id=6439</uri>
			</author>
			<updated>2011-03-31T11:38:05Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=163181#p163181</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[gtk/cairo - Добавление прозрачности в изображение.]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=162971#p162971" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[SkaarjZR]]></name>
				<uri>https://linuxforum.ru/profile.php?id=6439</uri>
			</author>
			<updated>2011-03-30T20:27:38Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=162971#p162971</id>
		</entry>
</feed>
