3

私は何か間違ったことをしているに違いない。iOSのpdfContextとPDFSharpを使用したPDFの両方に画像をPDFにレンダリングしてみました。PhotoshopやMicrosoftの画像プレビューで開いたときと比べるとぼやけています。だから多分私は画像自体で何が起こっているのか理解していません。これが私が知っていることです:

画像サイズは90x20(wxh)です。解像度は264ppiです。

PDFSharpで描画するには、次のようにします。

XImage image = XImage.FromGdiPlusImage(Properties.Resources.logo);
gphx.DrawImage(image, leftStartDefault, 50, image.PointWidth, image.PointHeight);

上記のコードでimage.PixelWidth、image.PixelHeightも試しました。どちらも同じぼやけた結果を生成します。

iOSでは、

UIImage *logo = [UIImage imageNamed:@"logo.png"];
[logo drawInRect:CGRectMake(self.frame.size.width - 90 - 60, 20, 90, 20)];

どちらもぼやけた結果を生成します。理由はわかりません。描くサイズの選び方が足りないのかわかりません。グラフィックアーティストに別の解像度/サイズの画像を要求する必要がある場合、またはそれが描画呼び出しを行う方法である場合。半分のサイズで画像を描くと、より鮮明になります。

例えば

gphx.DrawImage(image, leftStartDefault, 50, 45, 10);

何かご意見は?ありがとう。

4

2 に答える 2

2

これは古く、おそらくもう問題ではないことはわかっていますが、同じ問題がありました。

PDFSharp フォーラムでこのスレッドを見つけましたが、これは役に立ちました。

私が知る限り、ペイントの画像の x ピクセルは、pdf の画像の y ピクセルに同じ方法で転送されません (少なくとも私の場合)。100x100pxペイント内の画像を持つと、同じ画像が約 .pdf で pdf に適用されます153x153px。なぜこれが起こるのかまったくわかりませんが、画像サイズが大きくなった要因がわかると、pdfに印刷するために画像を「サイズ変更」するのは簡単なことになりました。

そのようです:

gfx.DrawImage(logo, 0, 0, ApplyTransform(logo.PointWidth), ApplyTransform(logo.PointHeight));

private static double ApplyTransform(double previous)
{
    return previous * .6538;
}

編集:さらに調査したところ、これはそもそもピクセルの概念を持たないpdfドキュメントが原因であると考えています。

于 2013-08-09T15:26:12.150 に答える
0

おそらく、PDF ラスタライズ ライブラリは、Photoshop や Windows Viewer とは異なる画像補間アルゴリズムを使用しており、結果のビューに誤って適用されます。また、異なるICCプロファイルを使用しているため、レンダリングにも影響します。

于 2013-07-11T03:38:39.487 に答える