BitmapFillで遊ぶ
back
BitmapFillで遊ぶです。
PolygonMorphにキャプチャした画像を貼り付けまする。
ソースコードを順番にドゥ〜イットしてみてください。
Alt + d ( Cmd + d )
●キャプチャ用にスケッチ・モーフを用意しました。
これをドゥ〜イットして適当なところに置いて
キャプチャしちゃってくださいませな。
--------------------------------------------
fc _ HTTPSocket httpGif: 'http://www.languagegame.org:8080/zoo/uploads/smple1.gif'.
sk _ SketchMorph withForm: fc .
sk openInHand.
--------------------------------------------
■ポリゴンを出す
まずPolygonMorphを出しまする。
--------------------------------------------
poly _ PolygonMorph new openInWorld.
verts _ {0@0. 80@122. 160@0.}.
poly setVertices: verts.
poly position: 100@100.
--------------------------------------------
■キャプチャを流し込む
キャプチャを撮ってPolygonMorphに流し込みまする。
原寸大のキャプチャがタイルになるです。
--------------------------------------------
form _ Form fromUser.
pts _ verts average rounded.
poly fillStyle isBitmapFill
ifFalse: [
poly fillStyle: (BitmapFillStyle fromForm: form)].
fs _ poly fillStyle.
fs origin: pts.
fs form: form.
fs direction: (form width)@0.
fs normal: 0@(form height).
poly computeBounds.
--------------------------------------------
■ポリゴンにフィットさせる
画像をPolygonMorphにフィットさせてみるです。
縦横をフィットさせるので縦横比が狂っちゃいます。<これあたりまえ。
--------------------------------------------
verts _ poly vertices.
p1 _ verts at: 1.
fs origin: p1.
fs direction: poly width@0.
fs normal: 0@poly height.
poly computeBounds.
--------------------------------------------
■いもいちよくわかんないっす。
この「direction」と「normal」の扱いが
いまいち良くわかんないんですけど・・・しくしく。
こうするってえと、横にひしゃげていきますな。
(見ずらいばやいは、ハロでポリゴンのサイズを拡大するよろし)
--------------------------------------------
fs direction: (form width)@50.
fs normal: 0@(form height).
poly computeBounds.
--------------------------------------------
こうするってえと、縦にひしゃげていきまする。
--------------------------------------------
fs direction: (form width)@0.
fs normal: 50@(form height).
poly computeBounds.
--------------------------------------------
そんでもって、こうやれば回転するかな?とやってみると
回転はするけど拡大されちゃうんだよね。
--------------------------------------------
fs direction: (form width)@(50).
fs normal: -50@(form height).
poly computeBounds.
--------------------------------------------
じゃあ、こうしちゃえばいいじゃん。
--------------------------------------------
fs direction: (form width)@(50) // 1.2.
fs normal: -50@(form height) // 1.2.
poly computeBounds.
--------------------------------------------
おいおい、これじゃ原寸じゃないよ!
ってことでサムバディ・ヘルプ・ミイ。
なんか後一歩で、わかりそうな気もするんだけど
この状態っておいらのばやい、けっこう長引きそうな・・・・
|
下の入力ボックスに書き込んで”add to the page”ボタンで登録出来ます。
修正したい場合はページ左のアイコンの”edit”で出てくる画面で編集可能です。
ページ左のアイコンの”uploads”で画像(JPEG,GIF,PNG)のアップロードもできます。
Link to this Page
|