0

imageView からテキストと画像を印刷するようにカスタマイズしたビューを印刷しています。

次のコードは機能しますが、画像の代わりに空白のボックスが表示されます。

 -(NSString *)prepareHTMLText {

    NSMutableString *body = [NSMutableString stringWithString:@"<!DOCTYPE html><html><body>"];


        [body appendString:@"<h2>Ingredients</h2>"];
        [body appendFormat:@"<p>%@ %@</p>", @"text", @"TEStText"];

        [body appendFormat:@"<img src=\"%@\"/>", myImageView.image];

    [body appendString:@"</body></html>"];
    return body;
}
4

4 に答える 4

0

このようなイメージを体に直接割り当てることはできません。次のことを行う必要があります

  1. myImageView.imageに変換NSData
  2. の内容をNSData固有の名前でドキュメント ディレクトリに保存します。
  3. ドキュメントディレクトリに格納されている画像のパスをボディに渡します。

それでおしまい。

于 2013-01-23T11:27:58.760 に答える
0
[body appendFormat:@"<img src=\"%@\"/>", myImageView.image];

この画像のパスを追加したいのですが、ここでは画像の説明を追加しただけです。(デフォルトでは、画像のクラスやサイズなどが含まれています..)。出力文字列が webview (またはブラウザー?) に送信されるようです。webview は で画像を認識して見つけることができません。画像を見つけるには、webview の正しいパスを指定する必要があります。

于 2013-01-23T11:28:53.670 に答える
0

ここから Base64.h および .m ファイルをダウンロード して、プロジェクトにドラッグします。.h ファイルに Base64.h をインポートし、以下のコードを試してください

-(NSString *)prepareHTMLText {
    NSString *str1 = [Base64 encode:UIImagePNGRepresentation(myImageView.image)];
    NSMutableString *body = [NSMutableString stringWithString:@"<!DOCTYPE html><html><body>"];
    [body appendString:@"<h2>Ingredients</h2>"];
    [body appendFormat:@"<p>%@ %@</p>", @"text", @"TEStText"];
    [body appendFormat:@"<img src=\"data:image/png;base64,%@\" alt=\"\" height=\"100\" width=\"100\"/>",str1];
    [body appendString:@"</body></html>"];
    return body;
}

これを試して

于 2013-01-23T11:40:40.263 に答える
0

バンドルに画像があることを願っています。画像のファイル パスを取得し、myImageView.image の代わりにそのパスを使用します。これがあなたを助けることを願っています。

于 2013-01-23T11:32:17.077 に答える