[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'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"><<a href="mailto:lukast.dev@gmail.com" \
target="_blank">lukast.dev@gmail.com</a>></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">> Ah! Now I get you. \
But that is already provided for, too, by:<br> ><br>
> /**<br>
> * Copy the bytes in the paint device into a vector of arrays of bytes,<br>
> * where the number of arrays is the number of channels in the<br>
> * paint device. If the specified area is larger than the paint<br>
> * device's extent, the default pixel will be read.<br>
> */<br>
> QVector<quint8*> readPlanarBytes(qint32 x, qint32 y, qint32 w, \
qint32<br> > h);<br>
><br>
> /**<br>
> * Write the data in the separate arrays to the channes. If there<br>
> * are less vectors than channels, the remaining channels will not<br>
> * be copied. If any of the arrays points to 0, the channel in<br>
> * that location will not be touched. If the specified area is<br>
> * larger than the paint device, the paint device will be<br>
> * extended. There are no guards: if the area covers more pixels<br>
> * than there are bytes in the arrays, krita will happily fill<br>
> * your paint device with areas of memory you never wanted to be<br>
> * read. Krita may also crash.<br>
> *<br>
> * XXX: what about undo?<br>
> */<br>
> void writePlanarBytes(QVector<quint8*> planes, qint32 x, qint32 y,<br>
> qint32 w, qint32 h);<br>
><br>
><br>
> Not absolutely completely efficient, of course, but this is the right thing<br>
> 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