<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://baszerr.eu/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>BaSzErr - prjs:graphics</title>
        <description></description>
        <link>https://baszerr.eu/</link>
        <lastBuildDate>Sun, 05 Apr 2026 15:43:12 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://baszerr.eu/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
            <title>BaSzErr</title>
            <link>https://baszerr.eu/</link>
        </image>
        <item>
            <title>graphics</title>
            <link>https://baszerr.eu/doku.php?id=prjs:graphics:graphics</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;graphics&quot;&gt;Graphics&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
this library provides some basic functionality to operate on raster images. it is thought to wrap code from different libraries in common manner. some parts of it are self-written for better performance.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Graphics&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;graphics&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-230&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;library_content&quot;&gt;library content&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
library consists of many namespaces, all under main Graphics namespace. below goes short description of them and its content.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;library content&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;library_content&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;231-387&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;graphics1&quot;&gt;Graphics&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
this is the main namespace. it contains only the basic code.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Pixel – representation of pixel in different colour spaces.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Position – coordinates representation of pixel in image (x;y).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Offset – representation of offset on the image (x;y).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Size – common representation of image size (x;y).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Raster – main class representing single image.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; AutoRaster – std::auto_ptr&amp;lt;&amp;gt;-like class wrapping Raster.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SharedRaster – boost::shared_ptr&amp;lt;&amp;gt;-like wrapper for Raster.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SharedSyncRaster – like SharedRaster but offering synchronisation for multi threading.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; RasterLayer – representation of single layer of a given raster.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SyncRasterLayer – thread-safe raster layer version.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SharedSyncRasterLayer – single-object (shared) version of synchronized raster layer.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Graphics&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;graphics1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;388-1204&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;mask&quot;&gt;Mask&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
code representing mask as a pair &amp;lt;Offset;UserValue&amp;gt;.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; General – general mask of any shape. to be used by derived classes.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Radial – radius-shaped mask. computationali efficient.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Mask&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mask&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1205-1407&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;filter&quot;&gt;Filter&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
namespace containing code for filters.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; General – common base class for all filters.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GeneralTwo – General class version assuming that there are two input images. this is useful when computing several operations like image difference.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GeneralLayer – General specialization for &lt;a href=&quot;#graphics&quot; title=&quot;prjs:graphics:graphics ↵&quot; class=&quot;wikilink1&quot;&gt;RasterLayer&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GeneralLayerTransformation – &lt;a href=&quot;#transform&quot; title=&quot;prjs:graphics:graphics ↵&quot; class=&quot;wikilink1&quot;&gt;Transform&lt;/a&gt; wrapper for GeneralLayer.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GeneralLayerTwo – works as GeneralLayer but assumes two input images.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GeneralLayerTwoTransformation – &lt;a href=&quot;#transform&quot; title=&quot;prjs:graphics:graphics ↵&quot; class=&quot;wikilink1&quot;&gt;Transform&lt;/a&gt; of GeneralLayerTwo.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GeneralRaster – General specialization for &lt;a href=&quot;#graphics&quot; title=&quot;prjs:graphics:graphics ↵&quot; class=&quot;wikilink1&quot;&gt;Raster&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GeneralRasterTransformation – &lt;a href=&quot;#transform&quot; title=&quot;prjs:graphics:graphics ↵&quot; class=&quot;wikilink1&quot;&gt;Transform&lt;/a&gt; wrapper for GeneralRaster.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GeneralRasterTwo – GeneralRaster version assuming that there can be two input images.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GeneralRasterTwoTransformation – &lt;a href=&quot;#transform&quot; title=&quot;prjs:graphics:graphics ↵&quot; class=&quot;wikilink1&quot;&gt;Transform&lt;/a&gt; for GeneralRasterTwo.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Median – median filter.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SobelEdge – Sobel&amp;#039;s edge detecting filter.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ColorConverter – code for converting between Rasters in different colour spaces.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; CenterPass – transformation cutting lower and upper values from image layer.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; RasterAdder – perform pixel-by-pixel addition of two images.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; RasterDiffer – perform pixel-by-pixel difference computation of two images.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Thresholder – filter computing threshold of given image. Output is always binary image.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Filter&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;filter&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1408-2764&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;histogram&quot;&gt;Histogram&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
this namespace contains histogram computation code.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; General – general histogram representation.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GeneralTransformation – &lt;a href=&quot;#transform&quot; title=&quot;prjs:graphics:graphics ↵&quot; class=&quot;wikilink1&quot;&gt;Transform&lt;/a&gt; wrapper for General.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Color – computer histogram form all images types that uses Graphics::color as pixel values (arrays), i.e.: RasterRGB, RasterMono.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Histogram&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;histogram&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2765-3088&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;pixeltransform&quot;&gt;PixelTransform&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
namespace grouping pixelwise operations.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; PixelAdder – adds two pixels of the same type.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; PixelConverter – converts between pixels of a different type.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; PixelDiffer – computes different between pixels.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PixelTransform&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pixeltransform&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3089-3330&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;pyramid&quot;&gt;Pyramid&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
wrapper for image pyramids.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Generic – base for all pyramids.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
this is code in progress and will be available in next release.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Pyramid&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pyramid&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;3331-3483&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;scale&quot;&gt;Scale&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
namespace for scaling algorithms.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Resizer – base for all resizing classes.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Simple – scaling with “simple” method: for each output pixel corresponding position from input image is computed and colour from there is copied. note that although this algorithm is fast it might cause &lt;a href=&quot;http://en.wikipedia.org/wiki/Aliasing&quot; class=&quot;urlextern&quot; title=&quot;http://en.wikipedia.org/wiki/Aliasing&quot; rel=&quot;ugc nofollow&quot;&gt;aliasing&lt;/a&gt;.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SimpleTransformation – &lt;a href=&quot;#transform&quot; title=&quot;prjs:graphics:graphics ↵&quot; class=&quot;wikilink1&quot;&gt;Transform&lt;/a&gt; wrapper for Simple scaling.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Scale&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;scale&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;3484-3913&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;storage&quot;&gt;Storage&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
functionality for reading and writing images from/to disk.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Storers.hpp – main include for all available storing classes.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Storer – base class for all “storers”.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; StorerByExt – stores image using its extension as information on prefered output format.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Storage&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;storage&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;3914-4198&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;transform&quot;&gt;Transform&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
all operations transforming images have bases class from this namespace. it also contains some raster, non-filtering operations.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Transofmration – base calss for all transformations. allows to create abstract operations that can be connected by data they operate on.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sequence – sequence of transformations. it assumes that they are already connected in the proper way with data. processing call invokes them in order from first to last. usefull for abstracting complex operations content.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Transform&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;transform&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;4199-4719&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;v4l&quot;&gt;V4L&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Video4Linux C++ wrapper. operates with both APIv1 and APIv2.
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; CaptureConfiguration – abstrac class used for getting configuration for Capturer.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Capturer – main class performing capture of image using predefined settings.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Descriptors – enums used for specifying capture configuration.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Device – /dev/videoX representation.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;V4L&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;v4l&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;4720-5080&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;requirements&quot;&gt;requirements&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
this library uses: &lt;a href=&quot;https://baszerr.eu/doku.php?id=prjs:build_process:build_process&quot; class=&quot;wikilink1&quot; title=&quot;prjs:build_process:build_process&quot; data-wiki-id=&quot;prjs:build_process:build_process&quot;&gt;build process&lt;/a&gt; and &lt;a href=&quot;https://baszerr.eu/doku.php?id=prjs:system:system&quot; class=&quot;wikilink1&quot; title=&quot;prjs:system:system&quot; data-wiki-id=&quot;prjs:system:system&quot;&gt;system&lt;/a&gt;. they are both included inside the &lt;a href=&quot;#download&quot; title=&quot;prjs:graphics:graphics ↵&quot; class=&quot;wikilink1&quot;&gt;download&lt;/a&gt; package.
&lt;/p&gt;

&lt;p&gt;
it also requires Magick++ library. this is C++ wrapper for &lt;a href=&quot;http://www.imagemagick.org/&quot; class=&quot;urlextern&quot; title=&quot;http://www.imagemagick.org/&quot; rel=&quot;ugc nofollow&quot;&gt;ImageMagick&lt;/a&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;requirements&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;requirements&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;5081-5360&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;download&quot;&gt;download&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
here you can download &lt;a href=&quot;https://baszerr.eu/lib/exe/fetch.php?media=prjs:graphics:graphics.tar.bz2&quot; class=&quot;media mediafile mf_bz2&quot; title=&quot;prjs:graphics:graphics.tar.bz2 (75 KB)&quot;&gt;Graphics library&lt;/a&gt;. current release is 0.4.0.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;download&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;download&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;5361-5486&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;current_version_notes&quot;&gt;current version notes&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; has changed in many points – now most important is RasterLayer class, not Raster as it was before.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; slightly improved V4L &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; wrapping – now all is in one header, so there is a chance that V4L &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt; nightmare will finally end (or at least won&amp;#039;t propagate further).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; RasterBinary is now fully supported.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; image convertion between different color spaces finaly work.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Pixel code has been improved – hierarchy has been introduced and wrapped so that it is possible to call specific value of layer in generic way.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;current version notes&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;current_version_notes&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;5487-6054&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit16&quot; id=&quot;known_bugs&quot;&gt;known bugs&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;#storage&quot; title=&quot;prjs:graphics:graphics ↵&quot; class=&quot;wikilink1&quot;&gt;Storage&lt;/a&gt; uses Magick++ library to read/write files to disk – there are number of problems with that library causing problems when saving files. in most cases read → write sequence is fine from code level, but sometimes files cannot be opened using external tools (ex: &lt;a href=&quot;http://gimp.org&quot; class=&quot;urlextern&quot; title=&quot;http://gimp.org&quot; rel=&quot;ugc nofollow&quot;&gt;gimp&lt;/a&gt;).&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;#v4l&quot; title=&quot;prjs:graphics:graphics ↵&quot; class=&quot;wikilink1&quot;&gt;V4L&lt;/a&gt; currently supports only RGB capture since my WebCam driver does not support an other and i&amp;#039;m unable to perform proper tests.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;known bugs&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;known_bugs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;6055-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 15 Jun 2021 20:09:51 +0000</pubDate>
        </item>
    </channel>
</rss>
