1

基本的な質問で申し訳ありませんが、画像ファイルからピクセル データを読み取るためにQImageを使い始めたところです。

メンバー関数を理解するために、画像ファイルを読み込んで、関数の戻り値を出力しようとしました。

QString fileName = "pic1.bmp";
QImage myImage;
myImage.load( fileName );

std::cout << "width = "         << myImage.width() << std::endl;
std::cout << "height = "        << myImage.height() << std::endl;
std::cout << "dotspermeterX = " << myImage.dotsPerMeterX() << std::endl;
std::cout << "dotspermeterY = " << myImage.dotsPerMeterY() << std::endl;
QRectF myRect = myImage.rect();
std::cout << "rect = " << myRect.bottomLeft().x() << "," << myRect.bottomLeft().y()
      << "  " << myRect.topRight().x() << "," << myRect.topRight().y() << std::endl;

私が得た出力は次のとおりです。

width = 858
height = 608
dotspermeterX = 4724
dotspermeterY = 4724
rect = 0,608  858,0

私の質問は: 1.と
の違いは何ですか? 2. QImage はピクセルでのみ機能しますか? 精度を上げるためにサブピクセル データを読み取ることはできませんか? dotspixels
int

私の質問を明確にするために、以下は対角線のズームされたビットマップ画像であり、この線のすべての小さなピクセル/ドットを読み取りたいです。これは可能ですか?
ここに画像の説明を入力

4

1 に答える 1

2

「1 メートルあたりのドット数」については、おそらく「1 インチあたりのドット数」(または DPI) について聞いたことがあるでしょう。それは同じだ。たとえば、水平解像度が X ピクセルの 20 インチ モニタを使用している場合、「インチあたりのドット数」(またはインチあたりのピクセル数) は Y になります。次に、同じ水平解像度 X の 40 インチ モニターに切り替えると、画面の幅が 2 倍になるため、DPI の数値は半分になります。したがって、DPI (または PPI) は、ピクセルのサイズの測定値と見なすことができます。

いいえ、QImageサブピクセルデータをサポートしているとは思えません。

于 2013-11-08T06:52:45.143 に答える