View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide

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