![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
題名の件、簡単な図形を作れることは知っていますが、
簡易的なイラストとかを作ることはできるのでしょうか?
例えばイナズママークとか。
https://illust8.com/contents/1085
lineToを繋げて作れるかと思ったのですが、思うように線が引けません。
教えて頂きたくお願い致します。
No.2ベストアンサー
- 回答日時:
こんにちは
>思うように線が引けません。
だけでは、「まったく線が引けない」から「違う位置に引けてしまう」など様々なので、「何がわからないのか」がわかりません。
「線を引く」だけのサンプルは、検索すればいくらでも見つかるでしょうから、「線を引くこと」はできているものと想定します。
デフォルトのcanvasの座標は、左上を原点として、右方向がx座標(増加)、下方向がy座標(増加)となっていますので、一般的な座標系とはy軸が逆転しています。(HTMLでの座標系と同様ですが…)
扱う上で面倒であれば、y軸を逆転して通常の方向にしたり、原点を中央に移動(や回転)することも可能です。
以下、「イナズママーク」での一例。
※ サイズはcanvasサイズに依存します。
※ 座標データはテキトーです。
<script>
{
let canvas = document.getElementById('canvas'),
cw = canvas.clientWidth,
ch = canvas.clientHeight,
u = Math.min(cw/40, ch/80),
ctx = canvas.getContext('2d');
let i, d = [[32,41],[19,41],[31,65],[3,33],[14,33]];
ctx.translate(cw/2, ch/2);
ctx.scale( u, -u);
ctx.fillStyle = '#FF0';
ctx.beginPath();
ctx.moveTo(-16, -32);
for(i=0; i<d.length; i++) ctx.lineTo(d[i][0]-16, d[i][1]-32);
ctx.fill();
}
</script>
No.4
- 回答日時:
No2です。
>続けて、
>ctx.lineTo(0,100),
>ctx.linTo(80,0)とやることで~~
出来上がった図を観察してみればわかるのではないかと思いますが・・・
lineTo(x, y)、moveTo(x, y) の x, y は、座標系の x値, y値 であって、ペンの移動量を示すものではありません。
https://developer.mozilla.org/ja/docs/Web/API/Ca …
No.3
- 回答日時:
>ctx.lineTo(0,100),
>ctx.linTo(80,0)とやることで
> ______
> |
> |
> |_______
>右に長さ80、下に長さ100、右に右に長さ80という、
>上記の様な線を引けるという感覚ですが、間違っているのでしょうか?
なんかタートルグラフィック風ですね(^^;
lineToの座標は Canvasの左上が常に原点。
つまり、ひどく間違ってます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CAD・DTP CLIP STUDIO PAINT入門 1 2022/08/31 19:42
- 数学 線分の長さa,bが与えられているとき、デカルトは線分の長さabをどのように作図したか、簡単な図をかき 2 2023/01/23 08:35
- Excel(エクセル) Excelグラフについて 1 2023/05/12 16:26
- その他(ソフトウェア) 簡単な絵が描けるソフト(wordに挿入) 3 2022/05/20 22:16
- Excel(エクセル) エクセルのワークシートを簡単に別ファイルにする方法は? 5 2023/01/11 14:50
- Photoshop(フォトショップ) Photoshopの画像が重すぎるので軽くしたいです 7 2022/05/13 20:13
- その他(法律) Pinterestにある画像を利用・引用して絵を描きたいのですが、これは著作権に違反しませんか? 1 2022/07/11 04:42
- DIY・エクステリア 円の中心の求め方 6 2022/07/17 19:18
- PowerPoint(パワーポイント) 2016EXCEL→2016PowerPointにコピペすると図形がゆがみます 5 2022/03/31 11:44
- 囲碁・将棋 詰将棋。過去作品との重複、盗作、偶然の一致については誰が検証しているのか? 2 2023/04/26 20:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
google map の画面サイズを小さ...
-
Yahoo地図でマーカーを表示した...
-
逆ジオコーディングについて
-
ウインドウを毎回同じ位置、大...
-
マイページはどこを開くの
-
デジタル時計の時刻合わせの方...
-
スクリプトって、何ですか?ど...
-
エクセルのシート上に別のシー...
-
一定時間おきにアラームやポッ...
-
ポップアップウィンドウがブロ...
-
VBA ポップアップが表示された...
-
マウスオーバー→ホイール回転で...
-
ホームページビルダーでプルダ...
-
MT4サブウインドウ1と2を入れ替...
-
フランス語 序数表記入力(er)...
-
Excelのワークシートが全部表示...
-
「Cancel = True」とはどういう...
-
onclickでのページ内移動
-
VBAで任意のウインドウのサイズ...
-
5ちゃんねる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Yahoo地図でマーカーを表示した...
-
WordのVBAについて
-
VBAでオブジェクトがありません...
-
【javascript】住所から郵便番...
-
グーグルマップのリンクについて
-
aspのセレクトボックスにDBのデ...
-
ホームページビルダー16 地図...
-
Google マップにマーカーと同心...
-
JavaScriptでGoogleMAPの表示を...
-
GoogleMapお店の情報をJSONで取...
-
Yahoo地図で郵便番号からおおよ...
-
Google Maps API v2 現在位置か...
-
既存のgoogleマップに半径表示...
-
google mapに複数マーカーを設...
-
グーグルマップAPI+MySQLを使...
-
ホワイトボードに水性顔料マー...
-
グーグルマップV3のマーカー表...
-
グーグルマップ(Googlemap)を...
-
Google Map ルート
-
map = new google.maps.Mapで作...
おすすめ情報
回答ありがとうございます。
思ったように線を引けないというのは、
例えば、座標を右に線を引くと、
ctx.lineTo(80,0)と右に線を引けますが、
続けて、
ctx.lineTo(0,100),
ctx.linTo(80,0)とやることで
______
|
|
|_______
右に長さ80、下に長さ100、右に右に長さ80という、
上記の様な線を引けるという感覚ですが、間違っているのでしょうか?
私はこれで、線を繋げてイナズママークを作ろうとしました。
ですが、線が思ったような方向や長さにならず当惑しました。
そもそも座標点の概念がよくわかっていなのでしょうか?
色々Webサイトを見ても基本的な書き方しかわからず、
どうすれば自分の思った方向や長さに作れるか
教えて頂きたくお願い致します。