- - PR -
VB.NET:テキストファイルをTIFFファイルに印刷
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-02-28 14:05
いつもお世話になっております。
指定したテキストファイルの内容をTIFFファイルに印刷する方法を探しているのですが、 なかなか見つかりません。 どなたかご存知の方がいらっしゃいましたら、ぜひ教えていただけないでしょうか? 環境はVB.NET2003を使用しております。 | ||||
|
投稿日時: 2004-02-28 16:13
やはりツールを使うしかないのでは? http://www.antenna.co.jp/RTC/rtc2004/2004new.htm こんな感じですかね | ||||
|
投稿日時: 2004-02-29 16:09
お礼が遅くなってしまってすみません!
おさるさん、お返事ありがとうございました。 しかし、ツールに頼ってはいけないみたいなので、 他の方法を探したところ、printerオブジェクトを使ってやってみることにしました。 お手数おかけしてしまって申し訳ありませんでした。 またよろしくお願い致します。 | ||||
|
投稿日時: 2004-03-01 10:49
何度も申し訳ないです・・・。
上のスレッドで、「printerオブジェクトを使ってやってみる」と言ったのですが、 なかなかうまくいかず・・・。 そこで、一旦テキストファイルをTIFFファイルに画像として保存しようとしたのですが、 その際、TIFFファイルをG3圧縮形式にして保存したいのです。 ですが、どうもうまくいきません。 ソース↓------------------------------------------------------------- Dim bmp As Bitmap = New Bitmap(テキストファイル名) Dim eps As New Imaging.EncoderParameters() Dim myImageCodecInfo As Imaging.ImageCodecInfo eps.Param(0) = New EncoderParameter(Imaging.Encoder.Compression, encoderValue.CompressionCCITT3) myImageCodecInfo = GetEncoderInfo("image/tiff") Dim ext As String = myImageCodecInfo.FilenameExtension.Split(";"c)(0) ext = Path.GetExtension(ext).ToLower() SaveImage = Path.ChangeExtension(FileName, ext) bmp.Save(SaveImage, myImageCodecInfo, eps) ↑ここで、「GDI+ で一般的なエラーが発生しました」というエラー発生! bmp.Dispose() ここまで↑----------------------------------------------------------- いろいろ調査をしてみても、「EncoderParametersオブジェクトを使って 画像をsaveしようとすると例外的なエラーが発生することが多い」という記述はあるのですが、 「原因はわからない」という風になってしまっていて・・・。 どなたかご存知の方がいらっしゃいましたら、しつこい質問で申し訳ないのですが 教えていただけないでしょうか?? | ||||
|
投稿日時: 2004-03-01 13:40
この辺り参考にならないでしょうか。
http://www.gotdotnet.com/Community/MessageBoard/Thread.aspx?id=174041 ポイントは、 ・BitmapのピクセルフォーマットをPixelFormat.Format1bppIndexedにしなければならない ・PixelFormat.Format1bppIndexedのBitmapからは Graphics.FromImageできないので、自力でピクセルデータをセットしなければならない | ||||
|
投稿日時: 2004-03-02 09:00
ナキヲさん、どうもありがとうございました!!
さっそく教えていただいたページを参考にやってみたら、 G3圧縮形式のTIFFファイルができました!! が、その内容が真っ黒になっていて画像が見れないのです・・・。 あのビットのシフト部分が怪しいと思うのですが、私の勉強不足でまだ理解できず・・・。 申し訳ないです! もう少し勉強してみます! | ||||
|
投稿日時: 2004-03-02 09:50
こんなかんじでいけました。(C#)
私も最初真っ黒に。。 g.Clear(Color.White); でいけるようになったような気がします。
| ||||
|
投稿日時: 2004-03-02 10:42
ナキヲさん、お返事ありがとうございます!!
だいたいはVBに変換することができたのですが、1つ分からない部分だけ 質問させていただきたいのですが・・・。 ソース↓---------------------------------------------------------- If (pixel) Then p(index)|=mask Else p(index) &= CType((mask ^ &HFF), Byte) End If ここまで↑-------------------------------------------------------- この、「p(index)」の部分は一体何なのでしょうか?? ここの部分がいまいち理解できず、VBに変換することができません。 本当に申し訳ないのですが、できればここの処理の意味を教えていただけないでしょうか? |