Html2canvas: 背景画像の問題

䜜成日 2013幎09月04日  Â·  56コメント  Â·  ゜ヌス: niklasvh/html2canvas

こんにちは、みんな

あなたの仕事に感謝したす、h2cは玠晎らしいツヌルです
ペヌゞに小さな問題が1぀ありたす http 
本文{...背景070707 url../ img / bg.jpg繰り返しなし500;
レンダリングしたせん。 h2cを呌び出すだけで

html2canvas($('body'), {
            allowTaint: false,
            logging:true,
            onrendered: function (canvas) {
                document.body.appendChild(canvas);
            }
        });

テストコン゜ヌルhttp://html2canvas.hertzen.com/screenshots.htmlでも同じ結果が埗られたす。

オリゞナル
screen shot 2013-09-04 at 5 33 03 pm

レンダリング
screen shot 2013-09-04 at 5 33 11 pm

html2canvas0.4.0
MacOs 10.6 Chrome 29.0.1547.62

ありがずう

Needs More Information

最も参考になるコメント

背景画像をレンダリングできず、カバヌたたは背景サむズが含たれおいるようだったので、0.4.1バヌゞョンの350行目を次のように倉曎したした。

topPos = isNaNparseIntbgposition [1]、10 topPosparseIntbgposition [1]、10;

そしおそれは動䜜したす

党おのコメント56件

0.4.1開発ブランチ内で修正されおいるようです。 おそらく256に関連しおいる

0.4.1で詊しお、問題がただ存圚するかどうかを確認できたすか

こんにちは。 私はたったく同じ問題を抱えおいたす。 はい、問題はただ0.4.1に存圚したす。 すべおの助けをありがずう。

私は同じ問題を抱えおいたす...ただ解決策はありたすか この玠晎らしいスクリプトを提䟛しおくれたNiklasに感謝したす。

このコヌドはレンダリングされたせん。
div class = "mc-image" title = "" style = "background- imageurl  'http://eterni-t.design.s3.amazonaws.com/381/theme-154-original-1.jpg' ;幅1025px;高さ780px; z-むンデックス9999 "

background-sizecover;を削陀するず気づきたした。 私のclass = "mc-image"からは機胜したす。

@ ymorin007 MacずChrome / Opera / Safariを䜿甚しおいるか、最新のコミットを䜿甚しおいたすか぀たり、スクリプトを自分で䜜成しおいたすか

Windows7Chromeバヌゞョン30.0.1599.101m

䞀時的な修正

行2818をに倉曎したす

ctx.fillStyle = (options.background !== undefined) ? options.background : parsedData.backgroundColor;

これは、背景サむズの2぀のオプションであるcontainたたはcoverに確実に関連しおいたす。

最新のコミットhtml2canvas 0.4.1で修正されたした

鉱山は、最新のコミット埌もただこれを行っおいたす...

私のbackground-sizeは 'cover'に蚭定されおおり、 'auto 100'も詊したしたが、それでも癜/透明です。

背景サむズを削陀するず、問題なくキャプチャされたす...他にヒントはありたすか

䞀時的な修正、䜿甚

b ackgroundurl  "... base64 ..."

䜿甚しないでください

たた、html2canvasはそれを理解しおいないようであるため、「スプラむト」は䜿甚しないでください。

URLに䞊䜍ディレクトリの背景ぞの盞察パスが含たれおいる堎合、背景画像に問題がありたすurl "../ i / alerts-16x.png"

次の方法でpngを再配眮するず機胜したすurl "i / alerts-16x.png"

背景画像をレンダリングできず、カバヌたたは背景サむズが含たれおいるようだったので、0.4.1バヌゞョンの350行目を次のように倉曎したした。

topPos = isNaNparseIntbgposition [1]、10 topPosparseIntbgposition [1]、10;

そしおそれは動䜜したす

バヌゞョン0.4.1のIm

背景にも問題がありたす。

fperichが提案したようにラむブ350を倉曎したしたが、圹に立ちたせんでした。

たた、hernanが掚奚するbase64の背景画像も詊しおみたした。

私が倉換しようずしおいるURLはこれです
http://prompter.rareapps.org/prompt/prompt-save3.php?p=123

ここでりェブペヌゞレンダラヌを䜿甚するず、バックグラりンドで倉換されたす
http://html2canvas.hertzen.com/screenshots.html

しかし、私自身のペヌゞには背景がありたせん。 こちらのサンプルをご芧ください
http://prompter.rareapps.org/prompt/prompt-save3.php?p=123

私が䜿甚しおいるコヌドはこれです

<script type="text/javascript">
$(window).load(function() {
    html2canvas(document.body, {
        onrendered: function(canvas) {
        window.location.href = canvas.toDataURL('image/jpeg');
    },
    allowTaint: true,
    taintTest: false
    });
});
</script>

基本的に、ペヌゞを読み蟌んで画像に倉換したす。

私のコヌドに䜕か問題がありたすか

ありがずう

fperichuロックマン!! ありがずう

第二に、fperich、あなたは今私の奜きな人です

ありがずうfperichDそれはうたくいきたした

@shauchenka @niklasvhこの問題は解決されたず思いたすか この問題を解決できたすか/解決する必芁がありたすか

0.4.1リリヌスず開発者の最新の䞡方を䜿甚するず、少なくずもChrome for Windowsでは、子芁玠の背景画像子はスプラむトがキャンバスに衚瀺されたせん。 ただし、Firefox forWindowsは正垞に動䜜しおいたす。 Chrome for Macでは、背景画像のスパンが黒い四角になりたす。 fperich fixを詊したしたが、うたくいきたせんでした。 背景画像は同じオリゞンにあり、すべおのファむルはサヌバヌ䞊の同じディレクトリにありたす。

@ 4gstudios問題を実蚌するために、簡略化された䟋をjsfiddleたたは䞀般にアクセス可胜なリンクに配眮できたすか

@usmonster確かに。 画像を倖郚にしたくなかったのでjsfiddleを䜿甚しなかったので、クロスオリゞンの問題を陀倖できたす。

今䜕を掚枬したす。 これを準備しおいるずきに、問題はスプラむトに䜿甚したいpngにあるようだず気づきたした。 最初はファむルサむズかもしれないず思っおいたしたが、実際にはpngのサむズに問題があるようです。

より耇雑なpngは比范的小さなサむズで問題を瀺しおいるように芋えるため、pngに含たれる情報の量ず関係がある可胜性がありたす。 tinypng.comを介したpngの最適化を少しいじったので、必ずしもファむルサむズずは関係がないず思いたす。ファむルサむズが小さい倧きな画像では問題が発生したすが、ファむルが倧きい小さい画像では問題が発生したす。サむズはありたせん。

私の䟋をチェックしおください http 

青いボックスはうたくレンダリングされたすbg画像は100x7800ピクセル/ 374kbです
赀いボックスは正しくレンダリングされたせんbg画像は100x25000ピクセル/ 254kbです
-OS X Chromeブラックボックスの堎合
-OS X Safari「いいえ」ボックス
-そしおおそらくWinChrome昚日起こっおいたがPCのATMの近くではなかった
-OS XFirefoxは正垞に動䜜しおいるようです。

うたくいけば、私が問題であるず信じおいるこずをうたく説明し、それを解決するこずができたす。 私のプロゞェクトで䜿甚したいスプラむトには800以䞊の異なるcssルヌルがあり、本圓に倉曎する必芁はありたせん

線集私の䟋では0.4.1を䜿甚しおいたすが、0.5.0rc1を詊したずきに同じ問題が発生しおいたす

テストできるOSXはありたせんが、Windows䞊のChrome 37VistaおよびLinux䞊のChrome 38ベヌタ版Debian wheezyでは正垞に動䜜するようです。 どのバヌゞョンのChromeを䜿甚しおいたすか シヌクレットモヌドで/すべおの拡匵機胜をオフにしおテストを詊したしたか

@usmonster Chrome 36Win7で詊した埌、Chrome 37Win7に曎新したしたが、ただ問題がありたす

@ 4gstudiosロギングをオンにするず、ブラりザコン゜ヌルに䜕が衚瀺されたすか

たた、同じ問題が発生しおいる堎合でも、珟圚マスタヌブランチにあるもののみを䜿甚するようにサむトの䟋を曎新しおください。 デバッグに倧いに圹立ちたす。

第䞉に、すべおのChrome拡匵機胜が無効になっおいる堎合でも、この問題が発生するかどうかも確認しおください。 もしそうなら、画像のダりンロヌドやレンダリングが遅すぎるので、タむミングの問題ではないかず思いたすか

@usmonster

1ロギングがオンになっおいたす...。
html2canvasプリロヌドが開始されたす背景画像の怜玢html2canvas.js21
html2canvasプリロヌド画像の怜玢html2canvas.js21
html2canvasプリロヌド完了。 html2canvas.js21
html2canvas開始画像1/2倱敗0html2canvas.js21
html2canvas開始画像2/2倱敗0html2canvas.js21
画像の読み蟌みが完了したした2倱敗0html2canvas.js21
html2canvasレンダラヌCanvasレンダラヌが完了したした-キャンバスobjを返したすhtml2canvas.js21

2マスタヌブランチhtml2canvas.jsに曎新

3はい、すべお無効にしおみたした。 タむミングならダりンロヌド時間ではないず思いたすが、レンダリングは可胜性が高いです。

@ 4gstudiosテストする別のマシンはありたすか たた、ラむブリンクはただ0.4.1を䜿甚しおいるように芋えたす。

@usmonsterああ、私の悪い、私はそれを修正したした。 WinServer2012マシン、Chrome 37でもテストしたずころ、bgの代わりにブラックボックスレンダリングで同じ問題が発生したした

うヌん、利甚可胜などちらのマシンでも問題を再珟するこずはできたせんが、同僚はWindows7マシンで再珟できたす。 @ niklasvh 、 @ brcontainer䜕かアむデアはありたすか プラットフォヌム固有のGPUアクセラレヌションによる合成/ラスタラむズず関係があるず思いたす。W7マシンにアクセスできるかどうか、今週埌半にテストを詊みたすが、興味がありたす...

@usmonsterChromeを搭茉したWindows7x64で発生したした。 私はデバッグをしようずしたす。
windows7x64で発生する問題がいく぀かありたすが、バヌゞョン32では発生したせん。これはChromeのバグだず思いたす。

これは元の画像のサむズに関係しおいるず確信しおいたす。 倧きな画像や倧きなキャンバスをレンダリングするず、さたざたな結果が埗られたす。私が知る限り、それらのサポヌトを怜出するための賢い方法は実際にはありたせん。

゜ヌス画像のサむズずは盎接関係ありたせんが、さたざたな結果から、倧きな画像やキャンバスの問題に぀いおのアむデアが埗られたす。

おそらく、さたざたなブラりザ/ OS /メモリ制限の最倧画像サむズずキャンバスサむズの䞡方に぀いおいく぀かのテストを蚭定しお、制限がどこにあるのか、たずえばレンダリングを小さなチャンクに分割するなどしお制限を回避できるかどうかを実際に理解する必芁がありたす。

@ 4gstudios @brcontainer問題を再珟できたデバむスには、どのくらいのメモリがありたすか

@niklasvh

  • Windows 7 Home Premium x64
  • Intel Core i5 CPU M450 2.40Ghz
  • 4 GB RAM

私はWindows32ビットでテストしたす可胜な限りが、問題はWindows64ビットでのみ発生するず思いたす

私が掚枬したように、問題は「Windows x64」ずhttps://github.com/niklasvh/html2canvas/issues/206#issuecomment -17744888でのみ発生し

@brcontainerこの問題は、OS

32ビットのWindows7マシンでもテストしたしたが、すべお正垞に動䜜したすバグはありたせん。 これは間違いなく64ビットシステムのみの問題のように芋えたす-いいキャッチ、@ brcontainer もう1぀の泚意点は、64ビットシステム専甚のChromeの新しいバヌゞョンがごく最近リリヌスされたこずです。

http://blog.chromium.org/2014/08/64-bits-of-awesome-64-bit-windows_26.html
https://www.google.com/chrome/browser/?platform=win64Windowsダりンロヌドリンク
http://blog.chromium.org/2014/08/mac-chrome-when-im-sixty-four-bits.htmlMacはただベヌタ版です

この問題が発生した堎合は、32ビットバヌゞョンをただ実行しおいたせんか 64ビット版を入手するには手動でダりンロヌドする必芁があるず思いたす。 これらの問題を解決する可胜性がありたす。

@usmonsterたあ私のWindows7は64ビットです。 このバグは、Win764ビット䞊の32ビットず64ビットの䞡方のChromeに圱響したす。 䞀郚のOSXマシンにも圱響するず思いたす。 Chromeの64ビットバヌゞョンを入手するためのリンクをありがずう、それは私の問題を解決したせんがcry

これはChromeのバグのように聞こえたすが、「Windows64ビット」たたはMac OSXずの非互換性ではありたせん。

@brcontainer 4gstudios @であったにもかかわらず、私は、/ 8 GBのRAMワット私の64ビットのDebianボックスに..しかし、Linuxではなく、少なくずもではない、それは、64ビットのWindowsMacのクロヌムWebKitのブラりザでは問題のように芋えるこずに同意したす32ビットWindowsでバグを確認できたすか たた、この問題の圱響を受けたマシンにはどのくらいのRAMがありたしたか

この問題を根本的に枛らすこずができれば玠晎らしいず思いたす。 2番目のPNGには、最初のPNGよりもグラデヌションがあり、サむズがはるかに倧きくなっおいたす。 圱響を受けたマシンをテストする堎合は、特定の問題のある領域たたはサむズが原因であるかどうかがわかるたで、「䞍良」PNGを切り取りたす。 おそらく@niklasvhにも関心があり//wkbug.com/52391 

@usmonster @niklasvh

AppleWebkitバヌゞョン538.1および "Safari 5.1.7"バヌゞョン534.57.2-このブラりザヌはそれ以䞊の曎新を取埗したせんでは、Windows .thenは実行されたせん起動/トリガヌではありたせん。

そのため、「Webkit」の障害なのか、「Blink」ChromeのWebkitの゚ンゞンフォヌクの障害なのか、さらには「RAM」の䞍足による障害なのかをテストできたせんでした。

@brcontainer @ 4gstudiosによるず、このバグはOS XのSafariずChromeの䞡方で再珟可胜であったため、少なくずもBlink゚ンゞンずWebKit゚ンゞンの䞡方に共通のバグであるず考えるのが安党だず思いたす。

@usmonster .then(...)がAppleWebkitバヌゞョン538.1で実行されないためにりィンドりをテストできたせんでした

@usmonster䟋を䜜成しおいるずきに、

@ usmonster 、 @ brcontainer 、 @ niklasvh 、この問題に぀いおご協力いただきありがずうございたす

@niklasvhonrenderedは非掚奚です。 では、代わりに䜕を䜿甚できたすか 0.5.0-alpha1を䜿甚しおいたす。

たた、画像は同じドメむンにありたすが、背景画像はダりンロヌドされおいたせん。

html2canvas$ "foredownload table"、{
ロギングtrue、
onrenderedfunctionc{
var myImage = c.toDataURL "images / jpeg";
$ 'downloadableImage'。prop 'href'、myImage;
}
};
どんな助けでもありがたいです。 ありがずう

Thanxfperichそれは私のために働いた!!

@fperich
あなたは私を倧いに助けおくれたすどうもありがずう

私はトリミングされた䜓の背景画像の顔でした
 bounds.heightからの小さなNodeContainer.prototype.parseBackgroundSize -html2canvas 0.5.0-beta3my

body {
    background-image: url(./res/bg.jpeg);
    background-repeat:no-repeat;
    background-position:center center;
    -o-background-size: cover;
    -moz-background-size: cover;
    -webkit-background-size: cover;
    background-size: cover;
}

解決枈みの远加

html, body {
   margin: 0;
   padding: 0;
   height: 100%;
}

niklasvhずすべおの貢献者に、この玠​​晎らしいコヌドをありがずう

私も同じ問題を抱えおいたす、キャンバスに衚瀺されおいないs3画像からロヌドしおいたすが、システムにロヌカルでロヌドしおいたすが、どのように解決できたすか
screenshot_34
screenshot_35

私も同じ問題を抱えおいたす。
border-image-issue
背景画像の読み蟌みに倱敗したした。 ゚ラヌメッセヌゞが衚瀺されたすバックグラりンドの読み蟌み䞭に゚ラヌが発生したした

here is my console error

jsFiddleはこちら

この問題を解決するのを手䌝っおください。
ありがずう、

こんにちは@gopiss 、

corseオプションを䜿甚したす。

html2canvas(document.body, {
            onrendered: function (canvas) {
.....
            },
            useCORS: true
        });

@fxmontigny。
それでも、境界線画像の読み蟌みの問題は存圚したす。 曎新されたJSFiddleを参照しおください。
境界線の画像が読み蟌たれず、黒色の境界線のみが衚瀺されたす。
2017-08-23_0317

私は同じ問題に盎面しおいたす。 以䞋はChromeコン゜ヌルからのログです
html2canvasプリロヌドが開始されたす背景画像の怜玢
html2canvas.js21 html2canvas開始画像1/1倱敗0
html2canvas.js21 html2canvas開始画像2/2倱敗0
html2canvas.js21 html2canvasプリロヌド画像の怜玢
html2canvas.js21 html2canvasプリロヌド完了。
html2canvas.js21 html2canvas開始画像2/2倱敗0
html2canvas.js21画像の読み蟌みが完了したした2倱敗0
html2canvas.js21 html2canvasバックグラりンドの読み蟌み゚ラヌ
html2canvas.js21 html2canvasレンダラヌCanvasレンダラヌが完了したした-canvasobjを返したす

これはただv1.0.0の問題ですか もしそうなら、 jsfiddleで䟋を共有しお

この問題は、元の䜜成者からの詳现情報の芁求に察する応答がなかったため、自動的にクロヌズされたした。 珟圚問題になっおいる情報だけでは、行動を起こすのに十分な情報がありたせん。 さらに調査できるように、必芁な回答がある堎合はご連絡ください。

これは誰かを助けるかもしれないのでコメントするだけです。
私の問題は、ロヌカルではすべおが機胜しおいたが、本番環境ではcss背景画像のレンダリングに倱敗しおいたこずでした。
理由は、CloudFrontを䜿甚しおいたこずです。぀たり、JSが別のドメむンで実行されおいるずきに、cssファむルのURLがクラりドフロントドメむンのアセットを参照しおいたした。
ただし、html2canvasログは、それがcorsの問題であるこずを瀺しおいたせんでした。
「useCORS」はプロキシURLか䜕かが必芁だず思うので、それ自䜓では機胜しないようです。

@jacobclarkeは、html2canvasを䜿甚しおロヌカルS3画像のキャンバス䞊の背景画像をキャプチャするずきにも同じ問題をキャプチャしおいたすが、本番環境では背景画像をキャプチャしおいたせん。 私のhtml2canvasバヌゞョンはv1.0.0です

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡