<?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>Cyrille Berger &#187; File formats</title>
	<atom:link href="http://blog.cberger.net/tags/file-formats/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cberger.net</link>
	<description>What I do, where I live, what I think.</description>
	<lastBuildDate>Mon, 30 Aug 2010 09:38:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Krita and XCF</title>
		<link>http://blog.cberger.net/2009/11/20/krita-and-xcf/</link>
		<comments>http://blog.cberger.net/2009/11/20/krita-and-xcf/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 21:03:14 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[File formats]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[XCF]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=840</guid>
		<description><![CDATA[Last week, I blogged about the removal of the graphics magick file format filter in Krita, and that it would mean that we need to write directly our own support for many file formats, using low-levels library when relevant and available. And by forcing us to do this work, the support for file formats in [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I blogged about the <a href="http://blog.cberger.net/2009/11/13/the-last-bit-of-magick-dependency-is-now-gone-from-krita/">removal of the graphics magick file format filter</a> in <a href="http://www.krita.org/">Krita</a>, and that it would mean that we need to write directly our own support for many file formats, using low-levels library when relevant and available. And by forcing us to do this work, the support for file formats in 2.2 will rock.</p>
<p>Among the three mostly usefull file formats that were delivered by the gmagick file format filter, there is XCF, the file format of the <a href="http://www.gimp.org">Gimp</a>. After my blog, pusling (Sune Vuorela of the debian KDE team) reminded me about <a href="http://henning.makholm.net/software">xcftools</a>, a tool written by Henning Makholm that extract information from XCF files. Despite not being a library, the code to parse XCF files is well seperated from the command line logic, and I imported it in Krita (might be a good idea to turn it into a real library ?).</p>
<p>As mentioned, the previous filter was not really good, we were only able to get the layers, but no masks or no composite information, or opacity, as reported in this bug <a href="https://bugs.kde.org/show_bug.cgi?id=106730">106730</a>. And with the xcftools based filter, we can read all that information, making XCF a first class citizen in Krita. There might be some issues with composite ops that behaves differently on some cases between application, but that something that we would need to fix as well.</p>
<p>For the other way around, to import from Krita into the Gimp, the OpenRaster Archiving format would be the way to go.</p>
<p>About other file formats, Boudewijn is already working on PSD support. The last important one is GIF support, which will probably be done using libgif.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2009/11/20/krita-and-xcf/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The last bit of *magick dependency is now gone from Krita</title>
		<link>http://blog.cberger.net/2009/11/13/the-last-bit-of-magick-dependency-is-now-gone-from-krita/</link>
		<comments>http://blog.cberger.net/2009/11/13/the-last-bit-of-magick-dependency-is-now-gone-from-krita/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 09:45:25 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[File formats]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=821</guid>
		<description><![CDATA[Since its birth, Krita has been depending on ImageMagick (or the GraphicsMagick fork). The original idea was to build Krita as a GUI on top of ImageMagick. When the current team (or at least its veterans) started to work on Krita, ImageMagick was only used for exporting and importing files.
But using an abstraction of file [...]]]></description>
			<content:encoded><![CDATA[<p>Since its birth, <a href="http://www.krita.org">Krita</a> has been depending on <a href="http://www.imagemagick.org/">ImageMagick</a> (or the <a href="http://www.graphicsmagick.org/">GraphicsMagick</a> fork). The original idea was to build Krita as a GUI on top of ImageMagick. When the current team (or at least its veterans) started to work on Krita, ImageMagick was only used for exporting and importing files.</p>
<p>But using an abstraction of file formats did not give us enough control on how the files are loaded and saved, so four years ago, we decided to have our own implementation of the most used file formats: png, jpeg and tiff. Then later, tired of having to adjust our code for each releases of ImageMagick, we turned to GraphicsMagick, a fork that claim to have API stability. But the long term plan has always being to remove the dependency, and to have our own implementation of the file formats (or to use libraries when relevant).</p>
<p>Things have been accelerated recently, when we discovered that recent version of GraphicsMagick crashes Krita in a very weird way, so we decide to remove the GraphicsMagick files filter, and to finish implementing the format ourselves. This has started with the PPM filter that was finished yesterday, and now I am taking care of the JPEG 2000 format using the <a href="http://www.openjpeg.org/">OpenJpeg</a> library. But this might mean that in the near future, some important file format such as <a href="http://www.adobe.com">Photoshop</a>&#8217;s PSD or <a>Gimp</a>&#8217;s XCF will not be available (but there is a Gimp plug-in to export to ORA which can then be imported in Krita).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2009/11/13/the-last-bit-of-magick-dependency-is-now-gone-from-krita/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>
