問題タブ [bmp]
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.
android - Android: ビットマップ画像のデコードの問題
私のプロジェクトでは、プログラムを使用してピクセルを抽出し、それらのピクセルを操作して、パッケージに保存した画像があります。私が保存した方法は次のとおりです。
だから、それは私の写真をこのディレクトリに保存します
/data/data/my_package_name/files/myPic.bmp
ここで、この新しい画像を読み取り、この画像のピクセルを抽出します。私はこの方法を使用しました:
ここでプログラムがクラッシュします。logcat は、画像の結果が null であり、プログラムが getWidth に達するとクラッシュすることを示します。
これらの書き方と読み方は正しいですか?この画像が作成されているかどうかを確認するために、エミュレータを介してディレクトリに移動できますか?
ありがとう
image - 元の .BMP/.EMF 画像ファイルと処理済みの .BMP/.EMF ファイルの違いを見分ける方法は?
要約:
3289 X 4570 X 32bpp の .BMP 画像は約 53MB 必要です。同じサイズで24bppの写真は約43MB、16bppの写真は約28MBかかります。私の状況では、ChemDraw で処理された画像ファイルを 24bpp から 16bpp に変換する必要があります。
両方のファイルの 16 進データをさらに比較すると、ChemDraw で処理された画像と元の画像の違いをより詳細に理解できます。具体的には、ChemDraw は「EMF_STRETCHBLT」ではなく「EMF_STRETCHDIBITS」を保存します。「EMF_STRETCHDIBITS」は、ピクセルを TMetaFile/TMetaFileCanvas にコピーするときに StretchDIBits を呼び出すことによって実行できることを追加する必要があります。また、「EMF_STRETCHDIBITS」のピクセルは「EMF_STRETCHBLT」のピクセルと同じでなければならないことに注意してください。
残念ながら、ChemDraw が貼り付けた画像を正確に処理して保存する方法については、これまでわかりませんでした。つまり、ChemDraw に格納されたピクセルが、プログラムで取得できるピクセルと異なる理由がわかりませんでした。
PS: 現時点では十分な評判が得られないため、後でこの質問に関する親切な回答を投票します。親切にコメントしてくれたみんなありがとう!
===</p>
やあ、
ありがとうございました!
「sample_original.bmp」という名前の写真があるとします。ファイルサイズは3289×4570、43MB。次に、次のようにして .EMF ファイル (Enhanced Windows MetaFile) に変換します。
方法 1、社内で小さな Delphi プログラムを作成する方法: (1) .BMP イメージ ファイルをロードします。(2) TMetaFile(TMetaFileCanvas) の Canvas を取得します。 (3) Canvas.Draw を呼び出して画像をコピーします。(4) 「sample_original_bmp2emf_method1.emf」という名前の .EMF ファイルに保存します。
方法 2: (1) mspaint プログラムで .BMP イメージ ファイルを開き、[すべて選択] を選択して、[コピー] を選択します。(2) ChemDraw という外部プログラムを開き、新しいドキュメントを作成し、「貼り付け」を選択します。(3) 次に、「sample_original_bmp2emf_method2.cdxml」という名前の XML 互換の .cdxml 形式で保存することを選択します。(4) 画像の内容 (おそらく変更または劣化?) が sample_original_bmp2emf_method2.cdxml ファイルに保存されるようになりました。形式は Base64 でエンコードされた zlib 圧縮形式です。(5) XML 文字列を Base64 でデコードし、zlib で解凍して、画像ファイル "sample_original_bmp2emf_method2.emf" に保存できます。
sample_original_bmp2emf_method2.emf のファイル サイズは、sample_original_bmp2emf_method1.emf よりも 15 MB 小さくなりますが、幅と高さは維持されています。さらに、mspaint プログラムで「sample_original_bmp2emf_method2.emf」を開き、.bmp ファイル形式で保存し直すと、透明な情報が失われているという警告が表示されます。
「sample_original_bmp2emf_method1.emf」と「sample_original_bmp2emf_method2.emf」の違いを見分ける方法についてコメントしていただけませんか? 画質が落ちたので画像が小さくなりましたか?言い換えれば、この外部プログラムによって元の画像にどのような変更を加えることができるでしょうか?
幸運をお祈りしています、
上記のファイルは、次の URL でダウンロードできます。
http://www.rapidspread.com/file.jsp?id=2ighvzoci8
PS: Andreas Rejbrand が親切にも答えてくれたと思います。それからコメントをしました。しかし、私は今それらを見ることができません。それはシステムの正常な動作であるはずですか?o_o
c++ - BITMAPV5HEADER ヘッダーを使用してビットマップを作成するにはどうすればよいですか?
これは私の現在のコードですが、BITMAPINFOHEADER にキャストするとエラーが発生します。
どうすればこれを成功させることができますか?
java - BMPファイルの解像度(DPI)インジケーターを再設定するにはどうすればよいですか?
299DPI解像度としてタグ付けされたBMPがあります。これを99DPIに変更したいと思います。
重要なことに、BMPのDPIマーカーには構造的な意味がありません。画像には、ピクセル単位で特定の幅と高さがあります。表示アプリケーションは、インチ単位の任意の幅で画像を表示できます。
したがって、DPIは単なるヒントです。
ただし、このマーカーによって動作が異なるサードパーティソフトウェアを扱っているため、リセットする必要があります。
JavaやGUIグラフィックツール(Gimpなど)でこれをプログラムで行う方法についての提案をいただければ幸いです。
delphi - Save Bitmap with transparency to PNG in Delphi 2007
I have a Delphi bitmap (32Bit) that has transparency information. I need to convert and save it to a PNG file while preserving the transparency.
The tools I currently have are the graphics32 Library, GR32_PNG (by Christian Budde), and PNGImage (by Gustavo daud).
What is the best way to do this?
EDIT 1 : There is not just one color in my bitmap that's transparent but pixels with varying levels of transparency that needs to be preserved.
EDIT 2 : I am getting my bitmap with alpha information by setting the background of an image to a PNG I have with nothing but an empty alpha layer. Then I write anti-aliased text onto it. I then save the bitmap. When opened with gimp it show the transparency and upon zooming in you can see the effect of anti-aliasing.
delphi - Delphi TBitmap はアルファ チャネルをサポートしていますか
そうではないと人々が言うのを聞いています。
しかし、私は TBitmap を作成し、領域全体を
次に、アンチエイリアス処理されたテキストをビットマップに描画し、ファイルに保存しました。gimpで開くと、透明度情報が表示されます。
誰かがこれについて決定的な答えを持っていますか?それが機能する場合、それがどのように機能するかについての詳細情報はありますか? 最後のバイトをいじってみましたが、gimp で開いたときに期待した結果が得られません。
c - Cで.bmp画像の幅と高さを見つける
C で .bmp 画像の幅と高さを見つけることができるかどうかを知りたかったのです。あちこちを調べましたが、c#、.NET、および C++ の例しか見つかりませんでした。ただし、C に関連するコードは見つかりませんでした。可能であれば助けてください。
visual-c++ - Visual C++6.0で.bmpを.jpgに変換します
ビットマップファイル(* .bmp)を受信して保存するWindowsC++プログラムがあります。私の顧客は、代わりにJPEGファイルとして保存されたビットマップを望んでいます。これはVisualStudio2008では非常に単純に見えますが、私はVisual Studio 6.0で立ち往生しています(私の雇用主は最近のいずれかをアップグレードしますが、今日はアップグレードしません)。VC ++ 6.0で変換を行う簡単な方法はありますか、それとも外部ユーティリティプログラムが必要ですか?私には「自分で転がす」ためのリソース(つまり時間)がありません。
c - bmp ファイルの処理
事前に処理するために、24ビットのbmpピクセル値を2次元配列に取得するコードをcで書くのを手伝ってくれる人もいます
wpf - WPF 描画アプリケーションを改善するにはどうすればよいですか?
以下は、境界線オブジェクトの背景として画像を描画する私のコードです。
上記の DrawImage() メソッドは毎秒呼び出されます。すべての操作はうまく機能しますが、遅すぎます。
性能を上げたい。これを改善するポイントはありますか?たぶん、bmp 画像処理方法は、私が使用したよりも優れたソリューションだと思います。助けて...