<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Codec &#187; RGBA</title>
	<atom:link href="http://www.trembl.org/codec/tag/rgba/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.trembl.org/codec</link>
	<description>A Personal Polylogic Code/Decode &#039;Zettelkasten&#039;</description>
	<lastBuildDate>Thu, 02 Feb 2012 03:38:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Accessing RGBA Pixel Data</title>
		<link>http://www.trembl.org/codec/338/</link>
		<comments>http://www.trembl.org/codec/338/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 07:20:41 +0000</pubDate>
		<dc:creator>Georg Tremmel</dc:creator>
				<category><![CDATA[Raw]]></category>
		<category><![CDATA[alpha]]></category>
		<category><![CDATA[Mask]]></category>
		<category><![CDATA[NSData]]></category>
		<category><![CDATA[pixel value]]></category>
		<category><![CDATA[RGBA]]></category>
		<category><![CDATA[UIImage]]></category>

		<guid isPermaLink="false">http://www.trembl.org/codec/?p=338</guid>
		<description><![CDATA[NSData* pixelData = &#40;NSData*&#41; CGDataProviderCopyData&#40;CGImageGetDataProvider&#40;c.CGImage&#41;&#41;; unsigned char* pixelBytes = &#40;unsigned char *&#41;&#91;pixelData bytes&#93;; for&#40;int i = 0; i &#60; &#91;pixelData length&#93;; i += 4&#41; &#123; NSLog&#40;@&#34;pixelBytes[i] R:%i G:%i B:%i A:%i &#34;, &#40;int&#41;pixelBytes&#91;i&#93;, &#40;int&#41;pixelBytes&#91;i+1&#93;, &#40;int&#41;pixelBytes&#91;i+2&#93;, &#40;int&#41;pixelBytes&#91;i+3&#93;&#41;; /* pixelBytes[i] = pixelBytes[i+3]; pixelBytes[i+1] = pixelBytes[i+3]; pixelBytes[i+2] = pixelBytes[i+3]; pixelBytes[i+3] = 0; */ &#125; NSData* newPixelData = &#91;NSData dataWithBytes:pixelBytes [...]]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #400080;">NSData</span><span style="color: #002200;">*</span> pixelData <span style="color: #002200;">=</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSData</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span> 
	CGDataProviderCopyData<span style="color: #002200;">&#40;</span>CGImageGetDataProvider<span style="color: #002200;">&#40;</span>c.CGImage<span style="color: #002200;">&#41;</span><span style="color: #002200;">&#41;</span>;
<span style="color: #a61390;">unsigned</span> <span style="color: #a61390;">char</span><span style="color: #002200;">*</span> pixelBytes <span style="color: #002200;">=</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">unsigned</span> <span style="color: #a61390;">char</span> <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#91;</span>pixelData bytes<span style="color: #002200;">&#93;</span>;
<span style="color: #a61390;">for</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">int</span> i <span style="color: #002200;">=</span> <span style="color: #2400d9;">0</span>; i &lt; <span style="color: #002200;">&#91;</span>pixelData length<span style="color: #002200;">&#93;</span>; i <span style="color: #002200;">+=</span> <span style="color: #2400d9;">4</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
		NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;pixelBytes[i] R:%i G:%i B:%i A:%i &quot;</span>, 
		<span style="color: #002200;">&#40;</span><span style="color: #a61390;">int</span><span style="color: #002200;">&#41;</span>pixelBytes<span style="color: #002200;">&#91;</span>i<span style="color: #002200;">&#93;</span>, 
		<span style="color: #002200;">&#40;</span><span style="color: #a61390;">int</span><span style="color: #002200;">&#41;</span>pixelBytes<span style="color: #002200;">&#91;</span>i<span style="color: #002200;">+</span><span style="color: #2400d9;">1</span><span style="color: #002200;">&#93;</span>, 
		<span style="color: #002200;">&#40;</span><span style="color: #a61390;">int</span><span style="color: #002200;">&#41;</span>pixelBytes<span style="color: #002200;">&#91;</span>i<span style="color: #002200;">+</span><span style="color: #2400d9;">2</span><span style="color: #002200;">&#93;</span>,
		<span style="color: #002200;">&#40;</span><span style="color: #a61390;">int</span><span style="color: #002200;">&#41;</span>pixelBytes<span style="color: #002200;">&#91;</span>i<span style="color: #002200;">+</span><span style="color: #2400d9;">3</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;
		<span style="color: #11740a; font-style: italic;">/*
		pixelBytes[i] = pixelBytes[i+3];
		pixelBytes[i+1] = pixelBytes[i+3];
		pixelBytes[i+2] = pixelBytes[i+3];
		pixelBytes[i+3] = 0;
		 */</span>
    <span style="color: #002200;">&#125;</span>
	<span style="color: #400080;">NSData</span><span style="color: #002200;">*</span> newPixelData <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSData</span> dataWithBytes<span style="color: #002200;">:</span>pixelBytes length<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>pixelData length<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span>;
	UIImage<span style="color: #002200;">*</span> newImage <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>UIImage imageWithData<span style="color: #002200;">:</span>newPixelData<span style="color: #002200;">&#93;</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.trembl.org/codec/338/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

