問題タブ [bitmapimage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2337 参照

wpf - WPF BitmapImageの幅/高さは常に1ですか?

理解できない...

出力:「幅:1、高さ:1」。

PixelWidth / PixelHeightを試しましたが、BeginInit/を使用して手動で作成し、EndInit設定も試みましたPreservePixelFormat...何も機能しません。

(ただし、さらに奇妙なことに、これはすべて、ユーザーがボタンをクリックして一部の画像がダウンロードされるプロセスの一部です。2回目にそのボタンがクリックされると、幅/高さが1以外になります。

0 投票する
2 に答える
19685 参照

wpf - C# を介して WPF でビットマップ イメージを表示する

私がやろうとしていることはとても簡単ですが、それを機能させるのに苦労しています。同じような内容の投稿を見ましたが、まだ質問があります。

mnuA という MenuItem オブジェクトがあります。私が望むのは、C# でプログラムによってアイコン プロパティを設定することだけです。私は次のことを試しました

a)mnuA.Icon = new BitmapImage{UriSource = new Uri(@"c:\icons\A.png")}; 結果: 実際のアイコンを表示する代わりに、クラス名を取得します ( System.Windows.Media.Imaging.BitmapImage)

b)mnuA.Icon = new BitmapImage(new Uri(@"c:\icons\A.png")); 結果: 実際のアイコンを表示する代わりに、画像のパスを取得します ( file:///c:/icons/A.png)

私は何を間違っていますか?このような単純なものにコンバータークラスが本当に必要ですか?

0 投票する
1 に答える
5347 参照

wpf - BitmapImageをコードにロードする

私のアセンブリ(A)から、画像を渡す別のアセンブリ(B)のメソッドを呼び出したいと思います。この画像はWPFウィンドウに表示されます-ウィンドウはBのプロジェクトの一部です。

これはBのコンテキストで評価されるため、pack:// uriでImageSourceを渡すことができないようです。したがって、まだAにあるときにCachedBitmap(?)を使用して画像をキャッシュする必要があると思います。

イメージをEmbeddedResourceに設定し、ストリームとしてロードすると、これを機能させることができましたが、これはWPFの方法ではありません。

パックからのようです:私はこれを行うことができるはずのドキュメントですが、私はこれらを以下で試しましたが、何も機能しません。

"Images / 32px-Nuvola_apps_cache.png":"パスの一部が見つかりませんでした" " pack:// application:,,, Images / 32px-Nuvola_apps_cache.png":"URIプレフィックスが認識されません。" 。"pack:// siteoforigin:,,, Images / 32px-Nuvola_apps_cache.png":"URIプレフィックスが認識されません。"

私がやりたいのは、Resource .pngファイルをメモリにロードし、それを別のアセンブリのメソッドにホールセールで渡すことだけです。

ポールに感謝します。

0 投票する
3 に答える
3917 参照

silverlight - SilverlightのBitmapImageからピクセルの色を読み取るにはどうすればよいですか?

SilverlightにBitmapImageインスタンスがあり、画像の各ピクセルの色情報を読み取る方法を見つけようとしています。これどうやってするの?このクラスには、渡した配列にピクセル情報を書き込むメソッドがあるCopyPixels()ようですが、その配列から色情報を読み取る方法がわかりません。

これどうやってするの?

0 投票する
1 に答える
58048 参照

wpf - リソースから BitmapImage を取得するにはどうすればよいですか?

私のアセンブリには、BuildAction==Resource のイメージが含まれています。この埋め込みリソースから BitmapImage を取得したいと考えています。

次のように、ファイルから BitmapImage をロードできます。

しかし、埋め込まれたリソース イメージを参照する Uri を作成するにはどうすればよいでしょうか。

「 pack URI」(pack://application:,,,/MyImage.pngまたはなど)を作成しようとするとpack://application:,,,/MyAssembly;component/MyImage.png、例外がスローされます:

System.UriFormatException 「無効な URI: コロン (':') が存在するため、ポートが予期されましたが、ポートを解析できませんでした。」

このブログ投稿の UriFormatException に対する修正を見つけました

ただし、その修正を適用しても、パック URI から BitmapImage を読み込もうとすると例外が発生します。

形式を使用するpack://application:,,,/Image.pngと NullReferenceException が発生し、pack://application:,,,/AssemblyName;component/Image.png形式を使用すると NotSupportedException 「Uri プレフィックスが認識されません」が発生します。


まとめ 私の問題は、WPF コントロール/ウィンドウ/etc がインスタンス化される前にプロセスで「パック URI」を使用しようとしていたため、「パック」URI スキームがまだ登録されていなかったことです (他の WPF に必要な「スタッフ」もパックスキームを手動で登録しても問題は解決しないため、設定しないでください)。解決策は、WPF ユーザーコントロールをインスタンス化してパック URI を使用するまで待つことでした。

0 投票する
2 に答える
46078 参照

wpf - ImageSource を BitmapImage に変換する - WPF

3000x3750 ピクセルを超える大きな ImageSource を生成するクラス ライブラリを使用しています。この ImageSource を BitmapImage に変換して、この画像が生成されるたびにサイズを変更する代わりに、DecodePixelWidth または DecodePixelHeight を利用できるようにします。

最初にこの画像をユーザーに表示する必要があり、ほとんどのユーザーの画面解像度は 1024x768 です。この ImageSource を Image コントロールにバインドしていますが、それがいかに「重い」かがわかります。

これどうやってするの?または、この場合の最善の解決策は何ですか?

ありがとう!

0 投票する
2 に答える
2087 参照

c# - C# を使用して WPF で BitmapImage.CreateOptions を設定する方法

上記のコードで、 を設定しようとすると、bi.CreateOptions取得されません。なしと表示されています。解決策を提案してください。

0 投票する
2 に答える
2199 参照

c# - ビットマップ画像をXAMLに保存する

ビットマップ画像情報をXAML形式のファイルに保存する必要があります。誰かがこの点で私を助けてくれますか?

0 投票する
2 に答える
1616 参照

image - ソースとしてバイト配列を使用して画像オブジェクトを作成しようとしています。私は何を間違っていますか?

バイト配列をソースとして使用して画像オブジェクトを作成しようとしています。私は何が間違っているのですか?

バイトの配列をソースデータとして使用して画像オブジェクトを初期化しようとすると、例外がスローされます。例外は、以下の私のコードに示されています。

地球上で何がうまくいかないのか、私にはわかりません。
何かアドバイスをいただければ幸いです。

0 投票する
1 に答える
10872 参照

c# - ビットマップを画像に変換する

したがって、DLLから画像を取り出して画像コントロールに配置すると、それはBitmapImageになります。dllにパッケージ化するには、イメージに変換し直す必要があります。どうすれば画像に戻すことができ、どのようにdllに再パッケージすることができますか?これはすべてc#で書かれたwpfにあります。

writer.Generate()を実行して新しいdllを作成すると、次のエラーが発生します。mscorlib.dllで「System.Runtime.Serialization.SerializationException」タイプの未処理の例外が発生しました。

追加情報:アセンブリ'PresentationCore、Version = 3.0.0.0、Culture = neutral、PublicKeyToken=31bf3856ad364e35'に「System.Windows.Media.Imaging.BitmapFrameDecode」と入力してもシリアル化可能としてマークされていません。