ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder
ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 Selection Clipping

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

Format  BoldItalicizedUnderline Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkInsert EmailBrowse for an image to attach to your post Browse for a zip to attach to your post Insert CodeInsert QuoteInsert List


Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Black Eye [B)]
Frown [:(] Shocked [:0] Angry [:(!] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

Check here to subscribe to this topic.

T O P I C    R E V I E W
spetric Posted - Apr 11 2019 : 06:17:58

I'm drawing strokes on ImageEnView->IEBitmap. Everything works OK until I set
some selection and tell drawing engine to perform selection clipping.
When selection is active, free hand stroke drawing is very slow and selection marquee is flickering.

When VisibleSelection is set to false, drawing is fast.

Is it possible to get selection handle to lock selection updating?
If not, any workaround will be highly appreciated.

5   L A T E S T    R E P L I E S    (Newest First)
spetric Posted - Apr 15 2019 : 04:08:43
Hi Nigel,

This is actually an old version of the engine. I'll put new version (with complete source code) on GitHub (within a month, I hope).
There is a lot of bug corrections and lot of new stuff:

- undo engine (save/restore updated roi)
- image warping (a bunch of hand warping routines, mesh warping)
- nozzle drawing
- stencil support
- multistroke drawing
- multicolor brushes (palette colors)
- simple 3x3 filters
- spline drawing (Catmull-Rom opened/closed)
- tessellation (Voronoi, Delaunay solid, Delaunay with Gouraud shading)
- color correction (Roy Magne Klever's code implementation)
- various image processing routines
- drop shadow
- Intel IPP support (fast filters, geometric transforms, image moments, color twist, distance transforms, deconvolution, etc...). If IPP dll is not present, engine will work in "standard/light" mode.

To reproduce delay issue, you can put speHandMouseMove API call inside some thread.

I will try to replace selections with "poly object" from selection and hide selection to see if delay persists. Otherwise, I will call speHandMouseMove API
directly (no-threaded) in case of Selected == true.

xequte Posted - Apr 13 2019 : 02:08:18
Hi Sinisa

I played with the spnEngine a lot today. It is very cool. Can I link to it from our download page?

What's the best way to reproduce the slowness issue?

Xequte Software
xequte Posted - Apr 12 2019 : 19:51:04
Hi Sinisa

Those brushes are gorgeous. I'll download the latest spEngine next week and try to reproduce the issue.

Xequte Software
spetric Posted - Apr 12 2019 : 04:15:10
Hi Nigel,

I'm using my drawing engine. The problem is when stoke drawing is threaded.
I need threaded stroke drawing because when brush tip is big (let's say 100px),
then mouse movement is abrupt (no thread). With threaded stroke, stroke drawing is delayed, but mouse movement does not "stutter".

Brush tip size = 100:

Stroke clipping is probably slowed down because of ImageEnView updating:
stroke + selection updates are not synchronized.

When small sized brush tips is used without threading, selection clipping works fast. Also, when VisibleSelection is set to false, threaded stroke also works fast.

xequte Posted - Apr 11 2019 : 19:54:02
Hi Sinisa

Sorry, I cannot reproduce this. Are you using the Brush Tool for freehand drawing? What method are you using to perform the selection clipping?

Does removing iesoAnimated from ImageEnView1.SelectionOptions make any difference?

Xequte Software