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
 I want to disable autoscroll of imageenview?

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
aftereffectniko Posted - May 06 2013 : 01:48:03
I want to disable autoscroll of imageenview When the mouse near the boarder. Please help help?
12   L A T E S T    R E P L I E S    (Newest First)
w2m Posted - Sep 10 2017 : 12:00:29
Here is the project. Load a picture for the image, then load a supplied frame and resize the frame to fit the image.
attach/w2m/20179101205_Frames.zip
145.66 KB

Bill Miller
Adirondack Software & Graphics
Email: w2m@hughes.net
EBook: http://www.imageen.com/ebook/
Custom Commercial ImageEn Development
khorsandreza Posted - Sep 10 2017 : 06:25:21
I want the project file send me. Thanks
K.R
aftereffectniko Posted - May 11 2013 : 23:25:25
I want the project file send me. Thanks w2m
w2m Posted - May 11 2013 : 14:16:44
The example Fabrizio is referring to uses masks, but you can also put the user image in layer 0 and the frame in layer 1, then resize the layer with the mouse to fit the user image like this:

111.82 KB

I whipped this up for you:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls, StdCtrls, ExtCtrls, ExtDlgs,
  ieview, imageenview, imageenio, hyieutils, hyiedefs, imageenproc;

type
  TForm1 = class(TForm)
    OpenPictureDialog1: TOpenPictureDialog;
    SavePictureDialog1: TSavePictureDialog;
    Panel1: TPanel;
    OpenImage1: TButton;
    OpenFrame1: TButton;
    Select1: TButton;
    Save2: TButton;
    Button5: TButton;
    ImageEnView1: TImageEnView;
    StatusBar1: TStatusBar;
    MainMenu1: TMainMenu;
    PopupMenu1: TPopupMenu;
    File1: TMenuItem;
    Exit1: TMenuItem;
    N1: TMenuItem;
    PrintSetup1: TMenuItem;
    Print1: TMenuItem;
    N2: TMenuItem;
    SaveAs1: TMenuItem;
    Save1: TMenuItem;
    Open1: TMenuItem;
    New1: TMenuItem;
    Edit1: TMenuItem;
    PasteSpecial1: TMenuItem;
    Paste1: TMenuItem;
    Copy1: TMenuItem;
    Cut1: TMenuItem;
    N5: TMenuItem;
    Redo1: TMenuItem;
    Undo1: TMenuItem;
    Select2: TMenuItem;
    None1: TMenuItem;
    Rectangle1: TMenuItem;
    MoveLayer1: TMenuItem;
    ResizeLayer1: TMenuItem;
    Layer1: TMenuItem;
    Layers1: TMenuItem;
    Add1: TMenuItem;
    Delete1: TMenuItem;
    Merge1: TMenuItem;
    SaveAs2: TButton;
    N3: TMenuItem;
    Transparent1: TMenuItem;
    procedure Open1Click(Sender: TObject);
    procedure SaveAs1Click(Sender: TObject);
    procedure Exit1Click(Sender: TObject);
    procedure Undo1Click(Sender: TObject);
    procedure Redo1Click(Sender: TObject);
    procedure Cut1Click(Sender: TObject);
    procedure Copy1Click(Sender: TObject);
    procedure Paste1Click(Sender: TObject);
    procedure PasteSpecial1Click(Sender: TObject);
    procedure None1Click(Sender: TObject);
    procedure Rectangle1Click(Sender: TObject);
    procedure MoveLayer1Click(Sender: TObject);
    procedure ResizeLayer1Click(Sender: TObject);
    procedure Layer1Click(Sender: TObject);
    procedure Add1Click(Sender: TObject);
    procedure Delete1Click(Sender: TObject);
    procedure Merge1Click(Sender: TObject);
    procedure OpenFrame1Click(Sender: TObject);
    procedure Save2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Transparent1Click(Sender: TObject);
  private
    { Private declarations }
    AFilename: string;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Add1Click(Sender: TObject);
begin
  ImageEnView1.LayersAdd;
end;

procedure TForm1.Copy1Click(Sender: TObject);
begin
  ImageEnView1.Proc.SelCopyToClip()
end;

procedure TForm1.Cut1Click(Sender: TObject);
begin
  ImageEnView1.Proc.SelCutToClip()
end;

procedure TForm1.Delete1Click(Sender: TObject);
begin
  ImageEnView1.LayersRemove(ImageEnView1.LayersCurrent);
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin
  Close;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  IERegisterFormats;
  OpenPictureDialog1.Filter := GraphicFilter(TGraphic);
  ImageEnView1.IO.Params.BMP_HandleTransparency := True;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  IEUnregisterFormats;
end;

procedure TForm1.Layer1Click(Sender: TObject);
begin
  ImageEnView1.MouseInteract := [miMoveLayers, miResizeLayers];
end;

procedure TForm1.Merge1Click(Sender: TObject);
begin
  ImageEnView1.LayersMerge(0, 1);
end;

procedure TForm1.MoveLayer1Click(Sender: TObject);
begin
  ImageEnView1.MouseInteract := ImageEnView1.MouseInteract + [miMoveLayers];
end;

procedure TForm1.None1Click(Sender: TObject);
begin
  ImageEnView1.MouseInteract := [];
end;

procedure TForm1.Open1Click(Sender: TObject);
begin
  if OpenPictureDialog1.Execute then
  begin
    AFilename := OpenPictureDialog1.FileName;
    ImageEnView1.IO.LoadFromFile(AFileName);
    Caption := AFilename;
    StatusBar1.Panels[0].Text := ExtractFileDir(AFilename);
    StatusBar1.Panels[1].Text := ExtractFileName(AFilename);
  end;
end;

procedure TForm1.OpenFrame1Click(Sender: TObject);
begin
  if OpenPictureDialog1.Execute then
  begin
    ImageEnView1.LayersAdd;
    ImageEnView1.IO.LoadFromFile(OpenPictureDialog1.FileName);
    ImageEnView1.IO.Params.BitsPerSample := 8;
    ImageEnView1.IO.Params.SamplesPerPixel := 4;
    ImageEnView1.Proc.SetTransparentColors(TColor2TRGB(clFuchsia), TColor2TRGB(clFuchsia), 0);
    ImageEnView1.IO.PreviewsParams := [ioppDefaultLockPreview];
    ImageEnView1.IO.DoPreviews([ppAUTO]);
    Layer1.Checked := True;
    ImageEnView1.MouseInteract := [miMoveLayers, miResizeLayers];
    ImageEnView1.Layers[1].PosX := 0;
    ImageEnView1.Layers[1].PosY := 0;
    ImageEnView1.Layers[1].Width := ImageEnView1.Layers[0].Width;
    ImageEnView1.Layers[1].Height := ImageEnView1.Layers[0].Height;
  end;
end;

procedure TForm1.Paste1Click(Sender: TObject);
begin
  ImageEnView1.Proc.SelPasteFromClip();
end;

procedure TForm1.PasteSpecial1Click(Sender: TObject);
begin
  ImageEnView1.Proc.SelPasteFromClip();
end;

procedure TForm1.Rectangle1Click(Sender: TObject);
begin
  ImageEnView1.MouseInteract := [miSelect];
end;

procedure TForm1.Redo1Click(Sender: TObject);
begin
  ImageEnView1.Proc.Redo();
  ImageEnView1.Proc.ClearRedo;
end;

procedure TForm1.ResizeLayer1Click(Sender: TObject);
begin
  ImageEnView1.MouseInteract := ImageEnView1.MouseInteract + [miResizeLayers];
end;

procedure TForm1.Save2Click(Sender: TObject);
begin
  if FileExists(AFilename) then
  begin
    ImageEnView1.IO.PreviewsParams := [ioppDefaultLockPreview];
    if ImageEnView1.IO.DoPreviews([ppAUTO]) then
      ImageEnView1.IO.SaveToFile(AFilename);
  end;
end;

procedure TForm1.SaveAs1Click(Sender: TObject);
begin
  if SavePictureDialog1.Execute then
  begin
    ImageEnView1.IO.SaveToFile(SavePictureDialog1.FileName);
    if FileExists(SavePictureDialog1.FileName) then
    begin
      ImageEnView1.IO.PreviewsParams := [ioppDefaultLockPreview];
      if ImageEnView1.IO.DoPreviews([ppAUTO]) then
      begin
        AFilename := SavePictureDialog1.FileName;
        Caption := AFilename;
        StatusBar1.Panels[0].Text := ExtractFileDir(AFilename);
        StatusBar1.Panels[1].Text := ExtractFileName(AFilename);
      end;
    end;
  end;
end;

procedure TForm1.Transparent1Click(Sender: TObject);
begin
  ImageEnView1.IO.Params.BitsPerSample := 8;
  ImageEnView1.IO.Params.SamplesPerPixel := 4;
  ImageEnView1.Proc.SetTransparentColors(TColor2TRGB(clFuchsia), TColor2TRGB(clFuchsia), 0);
  ImageEnView1.IO.PreviewsParams := [ioppDefaultLockPreview];
  ImageEnView1.IO.DoPreviews([ppAUTO]);
  ImageEnView1.Update;
end;

procedure TForm1.Undo1Click(Sender: TObject);
begin
  ImageEnView1.Proc.Undo();
  ImageEnView1.Proc.ClearUndo;
end;
end.

If you want the whole project let me know and I'll email you the project in a zip file.

William Miller
Adirondack Software & Graphics
Email: w2m@frontiernet.net
EBook: http://www.imageen.com/ebook/
Apprehend: http://www.frontiernet.net/~w2m/index.html
fab Posted - May 11 2013 : 13:53:06
Note also there is a demo that shows how make a photoframe with ImageEn. Look at ImageEditing\PictureFrames.
In this example (as William told you), layer 0 contains the photo while layer 1 contains the frame. Both have the same size.
w2m Posted - May 11 2013 : 12:52:12
Layer 0 should contain the user photo and layer 1 should contain the frame.

William Miller
aftereffectniko Posted - May 11 2013 : 12:19:19
Sorry for my grammer . Fabrizio. Iam trying to make photo frame maker software. There are two layers the first layer is the frame (it is always over the second frame) and the second layer is the user photo(it is behind the first layer ). When i try to move the second layer the with mouse . It moved out of the frame . I want to move second layer only inside the frame(first layer). Just like this my last picture. Help . Thank u ,
fab Posted - May 11 2013 : 02:10:27
Please do not create multiple topics for the same question.
ImageEn for default centers layer 0, so if you add more layers, only the layer 0 (background) is centered.
If you don't want this just set "ImageEnView.Center := false".

There isn't an "auto-scroll" in ImageEn when you just move the mouse. Only alignment can change when you change the background layer (layer-0).

If this doesn't help, please add details to your question.
aftereffectniko Posted - May 11 2013 : 02:00:04
JUST LIKE THIS ,, I ATTACHED THE PHOTO VIEW IT AND HELP ME PLEASE PLEASE..

w2m Posted - May 09 2013 : 06:38:00
Biased on your description I do not understand the problem. Typically by default, when you move a layer the other layers do not move or scroll so I do not understand.

William Miller
aftereffectniko Posted - May 09 2013 : 05:50:34
Thanks bro. But iam trying to make photo frame software. The first layer is the frame the second is user photo. when i try to move the user photo the frame also scroll( If and only the user image high size(width,hieght) ) How can i do to move the layer by mouse with out scroll.. Imageen view 4.3.0 Help help .thank u
w2m Posted - May 06 2013 : 05:35:31
How close to the border? This disables autoscroll when the X or Y value is 100 pixels from the edge of the image border:

procedure TForm1.ImageEnView1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
   if (X <=100) or (X>=ImageEnView1.ClientWidth - 100) or (Y<=100) or (Y>=ImageEnView1.ClientHeight - 100) then
    ImageEnView1.MouseInteract := []
  else
    ImageEnView1.MouseInteract := [miMovingScroll];
end;


William Miller
Email: w2m@frontiernet.net
EBook: http://www.imageen.com/ebook/
Apprehend: http://www.frontiernet.net/~w2m/index.html