[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    Re: GMIC in Krita
From:       Ramón_Miranda <mirandagraphic () gmail ! com>
Date:       2013-04-14 22:32:02
Message-ID: CAJ6UeUJZdo7njhFCkR+VFvnE-F1N-DSDn9=6MeKABWa4fE03aQ () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


wow, G'Mic in krita it will be a great addition to the creative set of
tools. I Love the idea.
Thanks a lot Lukas to start this revolution. (i apreciate the use of my
image for tests. honored)



2013/4/14 Lukast dev <lukast.dev@gmail.com>

> > Ah! Now I get you. But that is already provided for, too, by:
> >
> >     /**
> >      * Copy the bytes in the paint device into a vector of arrays of
> bytes,
> >      * where the number of arrays is the number of channels in the
> >      * paint device. If the specified area is larger than the paint
> >      * device's extent, the default pixel will be read.
> >      */
> >     QVector<quint8*> readPlanarBytes(qint32 x, qint32 y, qint32 w, qint32
> > h);
> >
> >     /**
> >      * Write the data in the separate arrays to the channes. If there
> >      * are less vectors than channels, the remaining channels will not
> >      * be copied. If any of the arrays points to 0, the channel in
> >      * that location will not be touched. If the specified area is
> >      * larger than the paint device, the paint device will be
> >      * extended. There are no guards: if the area covers more pixels
> >      * than there are bytes in the arrays, krita will happily fill
> >      * your paint device with areas of memory you never wanted to be
> >      * read. Krita may also crash.
> >      *
> >      * XXX: what about undo?
> >      */
> >     void writePlanarBytes(QVector<quint8*> planes, qint32 x, qint32 y,
> > qint32 w, qint32 h);
> >
> >
> > Not absolutely completely efficient, of course, but this is the right
> thing
> > to do.
>
> Cool, something like this could work. I would test it immediatelly but I
> got crash when I was converting RGB8 to RGBA Float32 colorspace, so I
> need to investigate
> that problem first.
> _______________________________________________
> Krita mailing list
> kimageshop@kde.org
> https://mail.kde.org/mailman/listinfo/kimageshop
>



-- 
_______________________________________
Ramón Miranda
www.ramonmiranda.com

[Attachment #5 (text/html)]

<div dir="ltr"><div>wow, G&#39;Mic in krita it will be a great addition to the \
creative set of tools. I Love the idea. <br></div>Thanks a lot Lukas to start this \
revolution. (i apreciate the use of my image for tests. honored)<br> <br></div><div \
class="gmail_extra"><br><br><div class="gmail_quote">2013/4/14 Lukast dev <span \
dir="ltr">&lt;<a href="mailto:lukast.dev@gmail.com" \
target="_blank">lukast.dev@gmail.com</a>&gt;</span><br><blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"> <div class="HOEnZb"><div class="h5">&gt; Ah! Now I get you. \
But that is already provided for, too, by:<br> &gt;<br>
&gt;     /**<br>
&gt;      * Copy the bytes in the paint device into a vector of arrays of bytes,<br>
&gt;      * where the number of arrays is the number of channels in the<br>
&gt;      * paint device. If the specified area is larger than the paint<br>
&gt;      * device&#39;s extent, the default pixel will be read.<br>
&gt;      */<br>
&gt;     QVector&lt;quint8*&gt; readPlanarBytes(qint32 x, qint32 y, qint32 w, \
qint32<br> &gt; h);<br>
&gt;<br>
&gt;     /**<br>
&gt;      * Write the data in the separate arrays to the channes. If there<br>
&gt;      * are less vectors than channels, the remaining channels will not<br>
&gt;      * be copied. If any of the arrays points to 0, the channel in<br>
&gt;      * that location will not be touched. If the specified area is<br>
&gt;      * larger than the paint device, the paint device will be<br>
&gt;      * extended. There are no guards: if the area covers more pixels<br>
&gt;      * than there are bytes in the arrays, krita will happily fill<br>
&gt;      * your paint device with areas of memory you never wanted to be<br>
&gt;      * read. Krita may also crash.<br>
&gt;      *<br>
&gt;      * XXX: what about undo?<br>
&gt;      */<br>
&gt;     void writePlanarBytes(QVector&lt;quint8*&gt; planes, qint32 x, qint32 y,<br>
&gt; qint32 w, qint32 h);<br>
&gt;<br>
&gt;<br>
&gt; Not absolutely completely efficient, of course, but this is the right thing<br>
&gt; to do.<br>
<br>
</div></div>Cool, something like this could work. I would test it immediatelly but \
I<br> got crash when I was converting RGB8 to RGBA Float32 colorspace, so I<br>
need to investigate<br>
that problem first.<br>
<div class="HOEnZb"><div \
class="h5">_______________________________________________<br> Krita mailing list<br>
<a href="mailto:kimageshop@kde.org">kimageshop@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kimageshop" \
target="_blank">https://mail.kde.org/mailman/listinfo/kimageshop</a><br> \
</div></div></blockquote></div><br><br clear="all"><br>-- \
<br>_______________________________________<br>Ramón Miranda<br><a \
href="http://www.ramonmiranda.com" target="_blank">www.ramonmiranda.com</a><br> \
</div>



_______________________________________________
Krita mailing list
kimageshop@kde.org
https://mail.kde.org/mailman/listinfo/kimageshop


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic