DOBON.NETプログラミング道掲示板

■35614 / 3階層)  ブラウザでコピーした透過PNGを貼り付けたい
□投稿者/ 魔界の仮面弁士 大御所(1574回)-(2024/06/07(Fri) 16:11:01)
  • アイコンNo35613に返信(よっし〜さんの記事)
    > 同じコピーでも形式が変わるって事なのでしょうか??
    クリップボードにデータを送信する処理というのは、
    それぞれのアプリケーションの実装依存になっていますので、
    ブラウザーがによって異なる形式になることは十分にありえます。


    > 例として同じ「33f2a9acb9788a6d.png」をブラウザ上でコピーしワードパッドに貼って見ました。
    これも同様。
    クリップボードには、複数のデータ形式が同時に保持されることが多いですが
    その場合、どの形式を採用するかは、添付先のアプリケーション依存です。
    Excel でも、"形式を選択して貼り付け" というモードがありますよね?

    複数のフォーマットをサポートしているアプリの場合、
    (1) 列挙されたフォーマットのうち、最初の形式を採用
    (2) サポートしている形式に優先度をつけ、優先順位の高いフォーマットを優先
    などの違いが生じることがあります。

    たとえば先の私のサンプルは (2) の実装であり、
    "PNG" 優先、無ければ Image を採用…という処理になっているわけです。


    > https://ascii.jp/img/2021/04/11/3186022/l/33f2a9acb9788a6d.png
    > FireFox:PictureBox1.Image = imgのimgがnothingになりました。
    個人的には、Firefox は苦手なんですよね…。
    Child-Tree 系の掲示板に繋ぐと、全角投稿者名などの cookie が腐ることがあったりするので。
    サイト側の問題だといえばそれまでなんですが。


    それはさておき、相手が Firefox や Internet Explorer ならば
     Dim s = Clipboard.GetFileDropList()
     If s.Count > 0 Then
      PictureBox1.LoadAsync(s(0))
      Return
     End If
    で行けるんじゃないですかね?

    試しに FireFox を再インストールして確認してみたところ、
    Internet Explorer および Firefox の場合は、
    下記の 14 種類の形式がクリップボードに含まれていました。


    【Internet Explorer 11 (Win10 22H2) で画像をコピーした場合】
     #01 "DataObject"
     #02 CFSTR_UNTRUSTEDDRAGDROP (50519)
     #03 "msSourceUrl"
     #04 CF_HDROP (15)
     #05 CFSTR_INETURLW (49483)
     #06 CF_DIB ★黒背景画像
     #07 "HTML Format"
     #08 CF_UNICODETEXT (13)
     #09 CF_TEXT (1)
     #10 "Ole Private Data"
     #11 CF_LOCALE (16)
     #12 CF_OEMTEXT (7)
     #13 CF_BITMAP (2) ★黒背景画像
     #14 CF_DIBV5 (17) ★黒背景画像


    【Firefox (ver 126.0.1 64bit) で画像をコピーした場合】
     #01 "DataObject"
     #02 "text/html"
     #03 "HTML Format"
     #04 "text/_moz_htmlinfo"
     #05 "text/_moz_htmlcontext"
     #06 "application/x-moz-file-promise-url"
     #07 "application/x-moz-file-promise-dest-filename"
     #08 CF_HDROP (15)
     #09 CFSTR_PREFERREDDROPEFFECT (49472)
     #10 "application/x-moz-nativeimage" ※取得できない
     #11 CF_DIBV5 (17) ★黒背景画像
     #12 CF_DIB (8) ★黒背景画像
     #13 "Ole Private Data"
     #14 CF_BITMAP (2) ★黒背景画像


    ※"application/x-moz-nativeimage" の場合に HGLOBAL が NULL となるのはバグらしい?
    https://bugzilla.mozilla.org/show_bug.cgi?id=255686
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[2]: ブラウザでコピーした透過PNGを貼り付けたい /よっし〜 →Re[4]: ブラウザでコピーした透過PNGを貼り付けたい /よっし〜
 
上記関連ツリー

Nomalアイコン ブラウザでコピーした透過PNGを貼り付けたい / よっし〜 (24/06/07(Fri) 12:18) #35611
Nomalアイコン Re[1]: ブラウザでコピーした透過PNGを貼り付けたい / 魔界の仮面弁士 (24/06/07(Fri) 14:13) #35612
  └Nomalアイコン Re[2]: ブラウザでコピーした透過PNGを貼り付けたい / よっし〜 (24/06/07(Fri) 15:14) #35613
    └Nomalアイコン ブラウザでコピーした透過PNGを貼り付けたい / 魔界の仮面弁士 (24/06/07(Fri) 16:11) #35614 ←Now
      └Nomalアイコン Re[4]: ブラウザでコピーした透過PNGを貼り付けたい / よっし〜 (24/06/07(Fri) 17:36) #35615 解決み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -