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