グラフィカルエディタを開発する場合、キャンバスを作成するときに2つのオプションがあります。
一方で、ユーザーに図の配置場所を決定させ、図のサイズを変更させると、より強力になりますが、欠点は、ユーザーが非常に大きく複雑な図を作成できるため、理解できなくなることです。一定のサイズの図の問題は、そのサイズがおそらくユーザーが使用する画面のサイズ(および方向)に依存することです。
それで、基本的に、最良の選択肢は何ですか?最適なオプションが静的サイズのキャンバスである場合、サイズをどのように計算すればよいですか?
ありがとう
オプション2はおそらく進むべき道です。
画像の最大サイズはユーザーに任せてください。この場合、自分が最もよく知っているとは限りません。幅が4メートルあるため印刷できない巨大で判読不能な画像を作成したいと彼らが決めた場合、それは彼ら次第です。
この質問を自問してみてください。ユーザーをもっと困らせるものはありますか-設定された寸法を持つアプリケーションを使用せざるを得ない、または理解するのが難しい大きな複雑な画像を作成することができますか?
次に、別の見方を示します。
番目のオプションの方が良いと思います。
無限のキャンバス領域(または必要に応じて拡大する領域)がありますが、-キャンバス上の定義済みページ領域があり、設定でサイズを変更できます。これは、ほとんどのベクター描画プログラム(InkscapeやIllustratorなど)が使用するアプローチです。
大まかな作業領域をページの外に描画するだけで使用できるという利点があり、ページサイズのコンテキストで描画を簡単に視覚化することもできます。
ほとんどの人は、プロセス中にめったに変更されない特定のサイズを念頭に置いて作業します。ただし、そうする場合、それは通常意識的な選択であり、そのためには設定が最も理にかなっています。
Inkscapeの例:
オプション#2には、この自動拡大が意外となる可能性があるという概念的な問題があります。そして、何かが内側に移動した場合、キャンバスは収縮しますか?キャンバスは常にできるだけ小さく縮小されますか?要素の位置を変更するだけでサイズを変更できますか?この弾性の魔法の境界パターンは、一部のシステム(このサイトで使用されるBalsamiqモックアップシステムなど)で機能しますが、明示的なサイズの形式から本当に恩恵を受ける他のシステム(Photoshop、Illustrator)では概念的に不格好になります。
だから、私は弾性魔法の境界モデルがあなたのシステムでこれらの概念的な問題を引き起こすかもしれないかどうか見張っています。
数値を入力するか、キャンバスを直接操作(マウスでサイズ変更)することにより、ユーザーがキャンバスサイズを明示的に設定できるようにする別のオプションがあります。