2013-03-23 9 views
5

このアプリケーションでは、デザインを保存して他のユーザーが後で見ることができるように投稿することができます。ファブリックjでキャンバスのサイズを変更する

width = 700、height = 600の割合で元のキャンバスを保存しました。しかし、キャンバスを表示するときは、キャンバスのサイズを(350,300)のサイズに合わせて変更したいと考えています。元の半分。しかし、私がこれらの寸法を直接適用して幅を読み込むと、setWidth()とsetHeight()は元の比率で読み込まれます。

私が欲しいのは、新しい寸法のキャンバスを表示することです。

+8

これはにもかかわらずfabric.js –

+0

を含み、これは、最も確実に重複はありませんその場合、ソリューションはより一般的なものでした。このソリューションには、ファブリック固有のものは含まれていませんでした。だから私は議論しません。 – Rohan210

答えて

-2

前回はhereと回答しました。

私はあなたがしようとしてきたが、

var canvas = document.getElementsByTagName('canvas')[0]; 
canvas.width = 800; 
canvas.height = 600; 

が正常に動作すべきかわかりません。

+0

Whoa !!!それはうまくいった。ありがとう、トン – Rohan210

+5

これは布で動作しません。キャンバス –

38

ライブラリfabric.jsを使用している場合は、それでは不十分です。

「キャンバス」はfabric.jsインスタンスオブジェクトであることを考えると、あなたはdistorsionアーティファクトを避けるために、この操作を行う必要があります。

canvas.setWidth(<desired width>); 
canvas.setHeight(<desired height>); 
canvas.calcOffset(); 
+0

これは受け入れられた答えでなければなりません –