相关疑难解决方法(0)

如何在滚动条上创建一个减慢滚动效果?

我喜欢在滚动框中平移图像后创建平滑的减速滚动效果.就像在maps.google.com中平移地图一样.我不确定它是什么类型,但完全相同的行为:当快速移动拖动地图时,它不会立即停止释放鼠标,但它开始减慢速度.

任何想法,组件,链接或样本?

delphi scroll image effect easing

20
推荐指数
1
解决办法
4519
查看次数

如何缩放以正确保持纵横比

这是我的目标.使用鼠标左键滚动图像,使用鼠标右键选择缩放矩形,然后双击以恢复完整缩放.

我目前已经厌倦了,到目前为止发现它与我加载图像或显示图像的方式无关,而是与绘制方式有关.无论表格或源图像的形状如何,屏幕上的图像总是填充控件的客户区域,因此不能保留纵横比.我不知道如何改变它或保持纵横比.从而给我一个干净漂亮的画面.

我发布了我的ZImage单元的整个代码虽然我认为问题出现在Zimage.paint或Zimage.mouseup中但是想想如果你需要在其中一个中看到一个函数,那将有助于将它全部发布.

unit ZImage;

interface

uses
  Windows, Messages, SysUtils,jpeg, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls;

type
  TZImage = class(TGraphicControl)
  private
    FBitmap        : Tbitmap;
    PicRect        : TRect;
    ShowRect       : TRect;
    FShowBorder    : boolean;
    FBorderWidth   : integer;
    FForceRepaint  : boolean;
    FMouse         : (mNone, mDrag, mZoom);
    FProportional  : boolean;
    FDblClkEnable  : boolean;
    FLeft        :integer;
    FRight        :integer;
    FTop             :integer;
    FBottom             :integer;
    startx, starty,
    oldx, oldy     : integer;
    procedure SetShowBorder(s:boolean);
    procedure SetBitmap(b:TBitmap);
    procedure SetBorderWidth(w:integer);
    procedure SetProportional(b:boolean);
  protected
    procedure Paint; override;
    procedure MouseDown(Button: TMouseButton; Shift: …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe

18
推荐指数
1
解决办法
2954
查看次数

标签 统计

delphi ×2

delphi-xe ×1

easing ×1

effect ×1

image ×1

scroll ×1