4

シンプルな HTML を QWebView にロードしていますが、data-uri プロトコルを使用するすべての画像が機能しません。代わりに、デフォルトのプレースホルダー画像が表示されます。QTWebKit を使用する Arora ブラウザーをテストに使用していますが、cpp ファイルを介して QWebView をロードすることによってもテストしています。

私が行ったいくつかの研究:

他の Web リファレンスでは、data-uri イメージの使用について言及していますが、いずれの場合も C++ コードでの話です。QWebView で動作する data-uri プロトコルへの参照は見たことがありません。これが必要です。

ロードしようとしている画像の例を次に示します。

<img src="data:image/png;charset=utf-8;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAyADIDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD03JoyaSnxJ5kqR5xuYD866jIdBbzXLbYkLHvjoKutpE8cDyyOPlGdqjca3oYY4IhHGoVRT6xdR9C+U43Joya09ato4ZkkQBfMzkD1Hf8AWsutU7q5DVhcmikopgFTWgJvIQoyd4OPxqGpIJfJuI5cZ2sDj1pMDr6KQEMAQcg8ilrmNTG14HbA2PlBYE/lWLWxrs2XihHYbjWPW8PhM5bhRRRViCigAk4AyT2q/b6Rcz4Ljyl9W6/lSbS3CxsaWzPp0JY5OCB9AcVcpqII41ReigAU6ud6s1Ryt+7PfzlzyHIH0HSq1b+paY9zL50TLuxgqe/41iTQSwNtljZD7jrW8WmjNojoooqhG/oiJ9lL7V37iN2Oa1KKK557mkdgoooqRhTXRXUq6hlPYjIooprcDkZQBK4HA3GiiiukyP/Z">

最初は文字セットなしでロードしていましたが、Chrome では違いはありません。これらの画像はクロムでうまくロードされます。

明確にするために、QtWebKit QWebView が data-uri プロトコルをサポートしているかどうかを調べようとしています。

みんな、ありがとう!

4

1 に答える 1

0

私のqt 4.8アプリでdata-uri画像が機能しないというあなたと同じトラブルに巻き込まれました。行ったり来たりして、gif および jpeg プラグインをロードしていないことに気付きました。それらをアプリケーション パスに追加すると、data-uri が機能し始めました。

OS X の場合、これは私にとって有効なソリューションです。

  1. アプリをビルドします (私は qmake -spec macx-g+++ を使用します; make clean; make)
  2. qmake -query を使用して、プラグイン ディレクトリを見つけます。
  3. imageformats dir を AppName.app/Contents/PluIns にコピーします。
  4. macdeployqt を実行します (プラグインが AppName.app/Contents/Frameworks を指していることを確認するため)

終わり。

ps私のアプリは、パス内のすべての画像形式ライブラリで開始されないため、gifおよびjpegライブラリを取得しただけで、それ以上調査しませんでした

PNG画像用のプラグインは必要ないpps

于 2014-08-10T09:26:13.713 に答える