私は、文書のビットマップイメージとその上のさまざまな場所にいくつかのテキストボックスを持つキャンバスを持っています。テキストボックスは、その背後にあるテキストをブロックするために存在しますが、上にテキストを含むこともできます(機密文書のテキストをブロックすることを想像してください)。これはすべてtiffファイルとして保存する必要があります。テキストボックスをBitmapImageまたはBitmapFrameに変換することはできますか?
私はイメージを簡単に保存することができましたが、テキストボックスを上に保存することは本当の課題でした。ここに私が現在持っているものがあります。
//The document bitmap is the first item in the canvas
foreach (Control redaction in canvas.Children)
{
Size sizeOfControl = new Size(redaction.Width, redaction.Height);
renderBitmap = new RenderTargetBitmap((Int32)sizeOfControl.Width, (Int32)sizeOfControl.Height, 96d, 96d, PixelFormats.Pbgra32);
renderBitmap.Render(redaction);
tiffEncoder.Frames.Add(BitmapFrame.Create(frame));
}
FileStream fs = new FileStream(outputFileName, FileMode.Create);
tiffEncoder.Save(fs);
fs.Flush();
fs.Close();
私はtiffEncoderに文書のビットマップを追加しない場合は、それが正しくテキストボックスを変換する(または私はそれがしたい、少なくとも道)されていないことを私に告げる黒画像を保存します。
これも可能ですか?
ああキャンバスをレンダリングしていないとは思わなかった。私はそれを理解できず、そこから移動した後にはうまくいかないと思ったばかりです。初心者の間違い(WPFはたぶん1週間前に始まったばかりです)。キャンバスをレンダリングして試してみるよ、ありがとう! – user1134837