私はテキストボックス内のすべてのテキストを削除していますが、バックスペースを使用して各文字を削除しています。すべての文字をもう一度削除しても、入力中ですがブロックされています。Google Chromeでfabric.textboxが機能していませんか?
0
A
答えて
0
data URI(またはデータURL)は、小さなファイルのデータを含む文字列で、接頭辞はdata:
であり、ファイルのMIMEタイプです。
バイナリデータの場合、ファイルはURI規則と互換性のある形式ですべてのバイトを表すことができるように、しばしばbase64に変換されます。
Blobコンストラクタは、結果のBlobに追加されるデータのリストを第1引数として想定しています。
ここでは、dataURIから直接BLOBを作成しようとしています。これは、ファイルがdata:image/png;base64,iVB0Rw0...
を文字通りtext/plainとして保持することを意味します。
TextEditorで結果ファイルを開くことで確認できます。これは作成したテキストファイルなので
var blob = new Blob([c.toDataURL()], {type: 'image/png'});
var f = new FileReader();
f.onload = function(){console.log(f.result)};
f.readAsText(blob);
<canvas id="c"></canvas>
何が欲しいのは、あなたのBlobにそれを追加する前に、このdataURIに含まれるデータを抽出することです。
var dataURI = c.toDataURL();
fetch(dataURI)
.then(r=>r.blob())
.then(blob=>{
// here blob is a good old png file
var f = new FileReader();
f.onload = function(){console.log(f.result)};
f.readAsText(blob);
});
<canvas id="c"></canvas>
あなたは、古いブラウザ用にXMLHttpRequest.responseType = 'ブロブ' と同じことを達成することができます
簡単な解決策が利用可能な場合、取得APIを使用することです。
ただし、非同期性が気に入らない場合は、最初にdataURIヘッダーを削除してから手動で変換してから、base64データをデコードし、正しいバイト値でUint8Arrayに渡すこともできます。
var dataURI = c.toDataURL();
var byteString = atob(dataURI.split(',')[1]);
var arr = new Uint8Array(byteString.length);
for (var i = 0; i < byteString.length; i++) {
arr[i] = byteString.charCodeAt(i);
}
var blob = new Blob([arr]);
var f = new FileReader();
f.onload = function(){console.log(f.result)};
f.readAsText(blob);
<canvas id="c"></canvas>
そして、私は間違っていない場合は、このメソッドを持っていない、まだfabricjsので、私は、およそHTMLCanvasElement.toBlob()
まだ話をしていないことに注意してください、しかし、あなたが使用していない場合multiplier
オプション、これが最適なソリューションです。
関連する問題
- 1. Google Chromeのiframe body onLoadが機能していませんか?
- 2. ページ内のJavascriptがGoogle Chromeで機能していません
- 3. ChromeでJquery- Bainding Ctr + tが機能していませんか?
- 4. Chrome拡張機能リンクが機能していません...(接続されたjsかもしれません)
- 5. Selenium Web Driver ChromeのDragAndDropToOffsetが機能していませんか?
- 6. Google Chromeでジオロケーションが機能しない
- 7. Google Chromeでドロップダウンボックスが機能しない
- 8. なぜこの機能はGoogle Chromeでは機能していますが、Firefoxでは機能していませんか?
- 9. APIを使用したChrome拡張機能が機能していません
- 10. 新しい機能はChromeの機能では機能しません
- 11. Chrome拡張機能でGoogleのログインボタンが機能しない
- 12. Jqueryの検証が機能していませんchrome version- 4.0.249.30
- 13. Chrome拡張機能がJavaScriptに対応していません
- 14. Google Chrome拡張機能でウェブにリンクしていますか?
- 15. CSSフィルタGoogle Chromeでは正しく機能しませんが、Mozilla Firefoxで完全に機能します
- 16. Google Cast - 例CastRemoteDisplay-androidが機能していませんか?
- 17. Chrome APIのonBeforeRedirectが正しく機能していませんか?
- 18. ファイヤーフォックスでは機能しますがChromeでは機能しません。
- 19. FirebaseでのGoogleのログインが機能していません
- 20. Googleマップの検索ボックス機能がモーダルウィンドウで機能していません
- 21. _wp_old_slugが機能していません
- 22. 機能がありません。Chromeコンソールエラー
- 23. 機能PropertyAccessor.DeletePropertiesがOutlook 2016で機能していませんか?
- 24. Chrome拡張機能がGoogleセキュリティポリシーに違反しています
- 25. Google Chrome拡張機能:setAttributeが機能しない
- 26. Chrome拡張機能asyncコールバックからのsendRequestが機能しませんか?
- 27. ChromeからChromeへのビデオチャット(webRTC)は機能しません
- 28. Azure機能が正しく機能していませんか?
- 29. ハイチャートバブルチャートが機能していません
- 30. Google map(mapTypeControlOptions)が機能していません
問題を解決するには、ここでフィドルを使用するかスニペットを使用してください。 – Durga