Home » Community » U++ community news and announcements » 2020.1 alpha
Re: 2020.1 alpha [message #53367 is a reply to message #53361] |
Tue, 31 March 2020 13:02 |
Tom1
Messages: 1212 Registered: March 2007
|
Senior Contributor |
|
|
Hi Mirek,
I'm using the wonderful new Xform2D::Map() to render a raster map image over a specific area with specific corner coordinates. This is a great feature, but BufferPainter::Fill(image) suffers from edge effects at the borders of the image fill. The fill leaves narrow gaps between the filled triangles. Both FILL_FAST and FILL_EXACT exhibit this problem. Even a simple BufferPainter::Fill(Blue()) exhibits this issue, although the gap seems slightly narrower then.
At this time I would like to be able to use at least FILL_FAST. Can you take a look at this?
Here's a testcase:
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
class PainterImageMapping : public TopWindow {
public:
typedef PainterImageMapping CLASSNAME;
PainterImageMapping(){
Sizeable();
}
virtual void Paint(Draw &draw){
ImageBuffer ib(GetSize());
{
ImageBuffer imb(500,500);
{
BufferPainter iw(imb);
iw.Clear(Black());
}
Image img(imb);
// image coordinates
Pointf iNW(0,0);
Pointf iNE(img.GetWidth(),0);
Pointf iSW(0,img.GetHeight());
Pointf iSE(img.GetWidth(),img.GetHeight());
BufferPainter w(ib);
w.Clear(White());
dword flags=FILL_FAST;
//dword flags=FILL_EXACT;
{
Pointf nw(100,100);
Pointf ne(700,100);
Pointf sw(100,700);
Pointf se(650,750);
w.Move(nw).Line(ne).Line(se).Fill(img, Xform2D::Map(iNW,iNE,iSE,nw,ne,se), flags);
w.Move(nw).Line(sw).Line(se).Fill(img, Xform2D::Map(iNW,iSW,iSE,nw,sw,se), flags);
}
{
Pointf nw(700,100);
Pointf ne(1400,120);
Pointf sw(650,750);
Pointf se(1300,720);
w.Move(nw).Line(ne).Line(se).Fill(img, Xform2D::Map(iNW,iNE,iSE,nw,ne,se), flags);
w.Move(nw).Line(sw).Line(se).Fill(img, Xform2D::Map(iNW,iSW,iSE,nw,sw,se), flags);
}
{
Pointf nw(100,700);
Pointf ne(650,750);
Pointf sw(100,1200);
Pointf se(650,1350);
w.Move(nw).Line(ne).Line(se).Fill(img, Xform2D::Map(iNW,iNE,iSE,nw,ne,se), flags);
w.Move(nw).Line(sw).Line(se).Fill(img, Xform2D::Map(iNW,iSW,iSE,nw,sw,se), flags);
}
{
Pointf nw(650,750);
Pointf ne(1300,720);
Pointf sw(650,1350);
Pointf se(1300,1220);
w.Move(nw).Line(ne).Line(se).Fill(img, Xform2D::Map(iNW,iNE,iSE,nw,ne,se), flags);
w.Move(nw).Line(sw).Line(se).Fill(img, Xform2D::Map(iNW,iSW,iSE,nw,sw,se), flags);
}
w.Finish();
}
SetSurface(draw,Rect(ib.GetSize()),ib,ib.GetSize(),Point(0,0));
}
};
GUI_APP_MAIN
{
PainterImageMapping().Run();
}
Best regards,
Tom
[EDIT] - Expanded testcase to include another row of tiles. This effectively adds (nearly) horizontal facing edges.
[Updated on: Tue, 31 March 2020 13:23] Report message to a moderator
|
|
|
|
|
2020.1 alpha
By: mirek on Wed, 04 March 2020 12:23
|
|
|
Re: 2020.1 alpha
By: Novo on Fri, 06 March 2020 06:06
|
|
|
Re: 2020.1 alpha
By: mirek on Fri, 06 March 2020 10:26
|
|
|
Re: 2020.1 alpha
By: omari on Fri, 06 March 2020 11:59
|
|
|
Re: 2020.1 alpha
By: mirek on Sat, 07 March 2020 17:21
|
|
|
Re: 2020.1 alpha
By: Oblivion on Wed, 11 March 2020 23:26
|
|
|
Re: 2020.1 alpha
By: mirek on Thu, 12 March 2020 09:31
|
|
|
Re: 2020.1 alpha
By: Oblivion on Thu, 12 March 2020 16:49
|
|
|
Re: 2020.1 alpha
By: mirek on Thu, 12 March 2020 17:19
|
|
|
Re: 2020.1 alpha
By: Oblivion on Thu, 12 March 2020 17:58
|
|
|
Re: 2020.1 alpha
By: xue38495 on Sat, 14 March 2020 03:20
|
|
|
Re: 2020.1 alpha
By: mirek on Sun, 15 March 2020 21:03
|
|
|
Re: 2020.1 alpha
By: Klugier on Mon, 16 March 2020 22:24
|
|
|
Re: 2020.1 alpha
By: mirek on Tue, 17 March 2020 10:16
|
|
|
Re: 2020.1 alpha
By: Oblivion on Tue, 17 March 2020 12:27
|
|
|
Re: 2020.1 alpha
By: Klugier on Tue, 17 March 2020 13:44
|
|
|
Re: 2020.1 alpha
By: mirek on Tue, 17 March 2020 14:04
|
|
|
Re: 2020.1 alpha
By: mirek on Tue, 17 March 2020 15:37
|
|
|
Re: 2020.1 alpha
By: Oblivion on Tue, 17 March 2020 15:57
|
|
|
Re: 2020.1 alpha
By: Klugier on Wed, 18 March 2020 18:50
|
|
|
Re: 2020.1 alpha
By: omari on Thu, 19 March 2020 16:42
|
|
|
Re: 2020.1 alpha
By: mirek on Thu, 19 March 2020 16:53
|
|
|
Re: 2020.1 alpha
By: Tom1 on Mon, 23 March 2020 21:42
|
|
|
Re: 2020.1 alpha
By: omari on Tue, 24 March 2020 14:39
|
|
|
Re: 2020.1 alpha
By: mirek on Tue, 24 March 2020 14:49
|
|
|
Re: 2020.1 alpha
By: Klugier on Tue, 24 March 2020 15:08
|
|
|
Re: 2020.1 alpha
By: mirek on Tue, 24 March 2020 15:38
|
|
|
Re: 2020.1 alpha
By: omari on Tue, 24 March 2020 17:04
|
|
|
Re: 2020.1 alpha
By: mirek on Tue, 24 March 2020 17:28
|
|
|
Re: 2020.1 alpha
By: omari on Tue, 24 March 2020 18:19
|
|
|
Re: 2020.1 alpha
By: Tom1 on Wed, 25 March 2020 10:53
|
|
|
Re: 2020.1 alpha
By: mirek on Wed, 25 March 2020 11:00
|
|
|
Re: 2020.1 alpha
By: Tom1 on Wed, 25 March 2020 11:28
|
|
|
Re: 2020.1 alpha
By: Tom1 on Wed, 25 March 2020 11:32
|
|
|
Re: 2020.1 alpha
By: busiek on Fri, 27 March 2020 17:08
|
|
|
Re: 2020.1 alpha
By: Tom1 on Fri, 27 March 2020 17:19
|
|
|
Re: 2020.1 alpha
By: mirek on Fri, 27 March 2020 17:21
|
|
|
Re: 2020.1 alpha
By: busiek on Fri, 27 March 2020 17:23
|
|
|
Re: 2020.1 alpha
By: Novo on Sun, 29 March 2020 22:04
|
|
|
Re: 2020.1 alpha
|
|
|
Re: 2020.1 alpha
By: Novo on Mon, 30 March 2020 01:26
|
|
|
Re: 2020.1 alpha
By: amrein on Mon, 30 March 2020 13:43
|
|
|
Re: 2020.1 alpha
By: mirek on Mon, 30 March 2020 14:57
|
|
|
Re: 2020.1 alpha
By: amrein on Mon, 30 March 2020 22:02
|
|
|
Re: 2020.1 alpha
By: Tom1 on Tue, 31 March 2020 13:02
|
|
|
Re: 2020.1 alpha
By: Tom1 on Tue, 31 March 2020 13:38
|
|
|
Re: 2020.1 alpha
By: mirek on Tue, 31 March 2020 15:15
|
|
|
Re: 2020.1 alpha
By: Tom1 on Tue, 31 March 2020 15:28
|
|
|
Re: 2020.1 alpha
By: mirek on Tue, 31 March 2020 15:49
|
|
|
Re: 2020.1 alpha
By: Tom1 on Tue, 31 March 2020 19:09
|
|
|
Re: 2020.1 alpha
By: mirek on Tue, 31 March 2020 19:59
|
|
|
Re: 2020.1 alpha
By: Tom1 on Tue, 31 March 2020 22:04
|
|
|
Re: 2020.1 alpha
By: mirek on Tue, 31 March 2020 15:46
|
|
|
Re: 2020.1 alpha
By: mirek on Wed, 25 March 2020 18:29
|
|
|
Re: 2020.1 alpha
By: koldo on Thu, 26 March 2020 12:48
|
|
|
Re: 2020.1 alpha
By: koldo on Thu, 26 March 2020 13:09
|
|
|
Re: 2020.1 alpha
By: mirek on Thu, 26 March 2020 22:25
|
|
|
Re: 2020.1 alpha
By: Novo on Thu, 26 March 2020 23:53
|
|
|
Re: 2020.1 alpha
By: mirek on Wed, 25 March 2020 12:46
|
|
|
Re: 2020.1 alpha
By: Tom1 on Wed, 25 March 2020 13:10
|
|
|
Re: 2020.1 alpha
By: mirek on Wed, 25 March 2020 13:33
|
|
|
Re: 2020.1 alpha
By: Tom1 on Wed, 25 March 2020 13:36
|
|
|
Re: 2020.1 alpha
By: Tom1 on Wed, 25 March 2020 13:34
|
|
|
Re: 2020.1 alpha
By: mirek on Wed, 25 March 2020 14:29
|
|
|
Re: 2020.1 alpha
By: Tom1 on Wed, 25 March 2020 14:51
|
|
|
Re: 2020.1 alpha
By: mirek on Wed, 25 March 2020 18:28
|
Goto Forum:
Current Time: Wed Apr 24 18:11:03 CEST 2024
Total time taken to generate the page: 0.02892 seconds
|