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
 Refreshing Magnifier while resizing

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

View 
UserName:
Password:
Format  Bold Italicized Underline  Align Left Centered Align Right  Horizontal Rule  Insert Hyperlink   Browse for an image to attach to your post Browse for a zip to attach to your post Insert Code  Insert Quote Insert List
   
Message 

 

Emoji
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
kturkay Posted - Apr 02 2021 : 17:20:50
Hi sir,
is there a way to force refresh of magnifer layer while resizing it ?

my attempt #1 failed

MagnifierLayer=1;
procedure TForm1.ievect1LayerNotify(Sender: TObject; layer: Integer;
  Event: TIELayerEvent);
begin
   if(event=TIELayerEvent.ielResizing) then
   begin
     ievect1.Layers[MagnifierLayer].Refresh;
     ievect1.Update;
   end;
end;


(btw, thanks in advance)
5   L A T E S T    R E P L I E S    (Newest First)
xequte Posted - Apr 05 2021 : 23:14:17
Yes, that issue is fixed in the coming release.

Nigel
Xequte Software
www.imageen.com
kturkay Posted - Apr 04 2021 : 07:01:10
this video may explain better what I mean.
https://drive.google.com/file/d/1J1TJqyi6gFxE8p5vdEltaEzYPTB6U8GY/view?usp=sharing

for now my temporal solution is the code as below.its better to see background canvas rather than outdated maginifer content:

procedure TfmScreenShot.IvLayerNotify(Sender: TObject; layer: Integer;
  Event: TIELayerEvent);
begin

  if (Event = TIELayerEvent.ielResizing) then
    Iv.Layers[MagnifierLayer].Transparency := 0
  else if (Event = TIELayerEvent.ielResized) then
    Iv.Layers[MagnifierLayer].Transparency := 255
end;



xequte Posted - Apr 04 2021 : 01:06:03
Hi

Do you mean how the Aspect Ratio is lost while sizing the magnify layer (until resizing ends)?

I'll address that for the next update.



Nigel
Xequte Software
www.imageen.com
kturkay Posted - Apr 03 2021 : 21:38:58
none of them helped.
I think its all about magnify layer functionality.
when resizing it, stretches old magnifier layer image till end of resizing. when resized event occured magnifier layer's iebitmap gets the new scaled part into.

you can check the demo magnify2 of imageen. it doesnt updates the maginifier layers's content till resize finished.

maybe need to use iexlayers>TIEImageLayer.PaintTo or some codeblocks in it.
xequte Posted - Apr 03 2021 : 18:35:46
Hi

Update(); should force the layer to be repainted.

Are you seeing a caching issue?

Does disabling the layer cache make a difference?

https://www.imageen.com/help/TImageEnView.LayersCaching.html

You can also force a refresh using:

ImageEnView1.LayersSetProperties( LYR_ALL_LAYERS, IELP_LAYER_CACHE_CLEAR, True );

Nigel
Xequte Software
www.imageen.com