Widget imageWidget_v110

hh hh at hyperhh.de
Wed Oct 17 11:59:50 EDT 2018


### v1.0.0 Aug 25, 2018 ... first (nearly) complete version
### v1.1.0 Oct 17, 2018 ... first version on "Sample Stacks"

Widget ImageWidget will blow you away. Why?
Because it demonstrates the enormous possibilities that LiveCode
Builder already provides. I tried to do everything in pure LCB.
There is only script access where I was forced to do, because LCB
is not yet ready: Networking and adjusting the widget's size. So:

** ImageWidget is dedicated to the LC team, the makers of LCB. **

The widget transforms images of up to screen size in "real time".

You can load raw imagedata from your stack, load an image from a
local file or load an image or raw data (with saving) from an URL.
You can also overlay an (also shaped) text/caption.

The base position of the 9 handles are (use a monospaced font):

  ##############################
  # 1=TL ----- 2=TM ----- 3=TR # 
  #  |                     |   # 
  # 8=ML       0=MM       4=MR # 
  #  |                     |   # 
  # 7=BL ----- 6=BM ----- 5=BR # 
  ##############################

[M=Midth, T=Top, L=Left, R=Right, B=Bottom]

Affine Transformations by click- and/or drag-actions:

[*] Near 0=MM but not 0=MM: Rotate,
[*] RightClick 0=MM: ResetImage,
[*] 0=MM: ResetShape (width 360),
[*] 2=TM: SkewX (= shearX),
[*] 4=MR: SkewY (= shearY),
[*] 6=BM: TrueHeight,
[*] 8=ML: TrueWidth,
[*] 1=TL,3=TR,5=BR,7=BL: TrueResize.

[True = preserves current shape.]

++ RightClick switches the action of handles (2=TM, 6=BM) and
(4=MR, 8=ML).
++ RightClick on handles (1=TL, 3=TR, 5=BR, 7=BL) inverts
temporarily the current "proportional" settings .

ImageWidget is a "fat" widget that works with LC 8 and LC 9
identically and also in all LC editions, from community up to
business. [Except that you need LC 9 when using
drawingSVGcompile for loading an SVG file to the image.]

The code has 3500 lines (incl. 800 lines for the dictionary),
there is a lot of math to do when getting the affine transforms:
the widget computes the current transform from the current
position of the handles. The source (lcb-file) is not included.

The widget is free for non-commercial use. For commercial use
please give a (small) fee to the LC developer help fund.

Download ImageWidget_v107 from "Sample Stacks" or
http://livecodeshare.runrev.com/stack/912

+++++++++
Someday, everything is gonna be diff'rent,
when I paint my masterpiece.  (Bob Dylan)





More information about the use-livecode mailing list