問題タブ [magick++]
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.
c++ - Magick++ エラー: 画像サイズを指定する必要があります
現在、チュートリアルの指示に従って画像ファイルを開く単純な Magick++ プログラムを実行しようとしています。
ただし、実行しようとすると、次のエラーが表示されます。
これは、読んでいる画像のサイズを指定する必要があることを意味すると考えました。私はそれを試してみましたが、それでもエラーが発生したため、次のような役に立たないプログラムを実行しようとすると、奇妙な試みを行うことにしました。
奇妙なことに、まったく同じエラーメッセージが表示されます。原因は何ですか?私は最近 C++ に手を出し始めたばかりで、Magick++ についてはさらに初心者です。答えを求めてインターネットをトロールしましたが、何も見つかりませんでした。ここの誰かがアイデアを持っていることを願っています!
更新 1: 「test.bmp」は、私が以前に聞いたり、見たり、触れたりしたファイルや名前ではないことを付け加えておきます。これが私を混乱させる理由の 1 つです。
更新 2: 夜をあきらめて就寝し、朝に再試行した後、コンパイルして、エラーなしでプログラムを実行することができました。しかし、今ではプログラムは何もしません! 「./testMagick.cpp」で実行しますが、デバッグ ステートメントをコンソールに出力するなど、目に見えることを実行したい場合でも、何も得られません。どちらかといえば、エラーがなければ、私はさらに混乱しています。
c++ - 画像の回転軸 Magick++ を選択するにはどうすればよいですか?
画像内の特定のポイントを中心に画像を回転させたい。Magic++を使用しています。回転軸を選択するにはどうすればよいですか? 回転機能がありますが、度数を設定することしかできず、軸を選択することはできません。
imagemagick - PNGファイルのDPIを設定できませんImageMagik
生の画像から画像を作成するために ImageMagik 6.7.8 c++ ライブラリを使用しています。問題は、ファイル タイプ "png" の DPI を設定できないことです。一方、 jpeg,tiff では完全に正常に動作します。以下はサンプルコードです
呼び出し output.write で PNG を JPG または TIFF に置き換えると、正しい DPI が表示されます。
c++ - x86_64 Linux システムで x86 ImageMagick アプリケーションをビルドする
ImageMagic++ ライブラリを使用する x86 C++ アプリケーションがあります。CentOS 7 x86_64 を搭載したマシンもあります。このマシンでアプリケーションをビルドする必要があります。i686 ImageMagick ライブラリをインストールしました。
アプリケーションをビルドしようとすると、次のエラーが表示されます。
これは、ファイル/usr/include/ImageMagick/magick/magick-config.hがマクロ定義__WORDSIZE
を使用して、どのファイルを含める必要があるかを決定するために発生しましたmagick-config-64.hまたはmagick-config-32.h。CentOS 7 x86_64 を搭載した私のマシンでは、このマクロは 64 に等しく、ImageMagick はmagick-config-64.h を含めようとしますが、i686 ライブラリにはこれがなく、magick-config-32.hのみが含まれます。
ライブラリ ファイルを変更せずに、CentOS 7 x86_64 マシンで x86 ImageMagick ライブラリを使用して x86 アプリケーションをビルドするにはどうすればよいですか?
c++ - Qt Creator で Magick++ を使用する
別に書いたバックエンド表現で Qt ウィジェットを作成しています。バックエンドは Magick++ を使用しており、コマンド ラインからコンパイルできます。
g++ -c ../SpriteCreator/WriteGIF.cpp sprite.cpp -I ../SpriteCreator/
Magick++-config --cxxflags --cppflags
Magick++-config --ldflags --libs
-O2
しかし、プロジェクトQt Creatorをコンパイルしようとすると、
/home/tpope/obeyYourThirst/qtSpriteEditor/backend/sprite.cpp:15: エラー: Magick++.h: そのようなファイルまたはディレクトリはありません #include < Magick++.h>
Magick++.h のパスを INCLUDEPATH に追加しましたが、次のようなエラーが表示されます。
/home/tpope/obeyYourThirst/qtSpriteEditor/backend/sprite.cpp:66: エラー: `Magick::InitializeMagick(char const*)' への未定義の参照
Magick 関数を使用するたびに。ライブラリは含まれていないようです。Qt Creator でそれを行うにはどうすればよいですか?
c++ - Magick ++で画像のサイズを変更する
8 ビットの bmp を読み取り、resize() を使用してサイズ変更 (ダウンスケーリング) すると、内部で 24 ビットに変更されます。Scale() は深さを保持しますが、もちろん見栄えがよくないので、より遅い resize() を使用することを好みます。
resize() を呼び出した後も、depth() は 8 ビットとして報告されますが、そうではありません (合計色数が 400.000 を超えています)。
深さを 8 に設定しようとしましたが、ディスクに 24 ビットから 8 ビットに書き込むときの出力は変わりません。また、フォーマット (BMP) および 8 ビットを指定するブロブに書き込もうとしました。それも24ビットを出力します。
質問は、サイズ変更を使用するときに同じビット深度を維持するにはどうすればよいですか?