0

私はc++ JUCEライブラリを使用してGUIプログラミングを学習しています。そのライブラリは、画像ファイル形式 (png、jpg) をサポートしています。しかし、tiff などの他のファイル形式を使用する方法を知りたいです。

グーグルの後、私はlibtiffを手に入れました。

私の質問は、これを表示するための正確なアプローチはどうなるかということです。これを行うには、.tiff ファイルを tiff から jpeg/png に変換する必要がありますか。

しかし、これには二重の処理が必要になると思います。

すべての画像をそのタイプに変換して直接使用する必要があるように、誰でも raw/native/basic 画像ファイル形式を説明できますか?

ファイル形式の画像データを使用する画像を処理するためにwinAPIで何かを見つけたので。

画像データの扱い方や表示方法を教えていただけると助かります。

4

3 に答える 3

1

すべての画像をそのタイプに変換して直接使用する必要があるように、誰でも raw/native/basic 画像ファイル形式を説明できますか?

「ネイティブ」な画像ファイル形式はありませんが、RGB がそれに近づきます (特に、ヘッダーを取り除いて、ピクセル値の幅×高さ×チャネル配列だけを与える場合)。バッファが非常に大きくなるため、おそらくすべてを保存するためにこれを使用したくないでしょう。ライブラリにストレージを処理させます。

画像データの扱い方や表示方法を教えていただけると助かります。

「その」アプローチはありません。C++ 自体は画像について何も言っておらず、画像を操作する方法はたくさんあります。設計は、機能要件の仕様と利用可能なライブラリによって異なります。

私はc++ JUCEライブラリを使用してGUIプログラミングを学習しています。そのライブラリは、画像ファイル形式 (png、jpg) をサポートしています。しかし、tiff などの他のファイル形式を使用する方法を知りたいです。

グーグルの後、私はlibtiffを手に入れました。

私の質問は、これを表示するための正確なアプローチはどうなるかということです。これを行うには、.tiff ファイルを tiff から jpeg/png に変換する必要がありますか。

しかし、これには二重の処理が必要になると思います。

libtiff を使用して TIFF 形式の画像を JUCE がサポートする形式に変換することを意味している場合、これにより追加の初期処理ステップが導入されると言うのは正しいことです。ただし、あなたが言った限りでは、これを介してヒットする可能性のあるパフォーマンスは、単純さと明快さの利点によって大幅に、大幅に、そして大幅に上回っているように思えます。だから私はそれをするだけです。

于 2011-10-19T11:09:21.870 に答える
1

*.tiff イメージを読み取り、JUCE フレームワークを使用したアプリケーション ビルドでそれらを使用するようなことを行うには、基本インターフェイス ImageFileFormat から派生した新しいクラスを作成することをお勧めします。

class MyTiffFormat : public ImageFileFormat
{
  private:
    MyTiffFormat( const MyTiffFormat& );
    MyTiffFormat& operator=( const MyTiffFormat& );

  public:
    MyTiffFormat();
    ~MyTiffformat();

    const String getFormatName();
    bool canUnderStand();
    Image decodeImage( InputStream& input );
    bool writeImageToStream( const Image& source, OuptputStream& dest );

};

関数「Image decodeImage( InputSTeram& input )」を実装することが、libtiff のようなものが必要な場合のポイントです。JUCE ソース ツリーでは、次のフォルダに PNG およびその他のサポートされている形式の実装があります: \juce\src\gui\graphics\imaging

JUCE 機能の拡張に関する詳細については、JUCE ユーザー フォーラムを参照してください。

于 2011-10-19T11:36:25.933 に答える