Tiイメージ上の任意の位置に文字を入力したい

解決


石松  2004-01-19 19:37:31  No: 81573  IP: [192.*.*.*]

VBから、Tifイメージの任意の座標に文字を入力させようとしています。
Windowsに標準で入っているKodac Imagingでいうと「テキスト  コメントツール」
というもので文字を入力できますが、そのような動作をVB上から制御したいのです。
Imagingを起動してSendKeyで制御するというのはできれば避けたいと思っています。
APIなどで制御する方法があるでしょうか?
ネットでいろいろ調べてみたのですがいい情報が見つからなかったので、
ここに書き込ませていただきました。

もし可能か不可能かだけでもご存知の方がおられたらご教授お願い致します。

環境はWindows2000、VB6.0です。

編集 削除
k.k  2004-01-19 19:57:23  No: 81574  IP: [192.*.*.*]

ピクチャーボックスにTifファイルを描画して、ピクチャーボックスのPrintメソッドで文字を描画、描画した画像データをTifファイルフォーマットに従いファイルに書き込みするという感じになるのではないでしょうか。

編集 削除
石松  2004-01-19 20:16:30  No: 81575  IP: [192.*.*.*]

kk様、早速のお返事ありがとうございます。

ご教授頂いた方法、試してみたのですが、
ピクチャーボックスはTif形式をサポートしていないようで、
その方法でいくならば、Tifファイルを一度BMPなりに変換してから文字を描画、保存し、
またTifに変換する。というようなプロセスになるのかなと思います。
画質の劣化を防ぎたいので画像形式の変換は避けたいと思っているのですが
何か良い方法はないものでしょうか・・?

編集 削除
k.k  2004-01-19 21:57:58  No: 81576  IP: [192.*.*.*]

ええ、いちどBMPに変換する形となります。
Tifファイルを読み込んで画像データ部分を解析し、BMPデータに変換して、変換したものをピクチャーボックスに描画し、あとは、最初に書いた方法で処理を行いTifファイルに保存するという手順になります。
Tifファイル構造を私は知らないのでどういう画像なのかは知りません。
(圧縮形式など)

編集 削除
IMA  2004-01-20 12:40:36  No: 81577  IP: [192.*.*.*]

こんにちは石松さん。

Tiff は  \WINNT\system32\imgedit.ocx を使用することで
Kodac Imaging と同等の操作が可能です。

もし、Win98のPCがあれば、\WINDOWS\HELP\IMGOCXD.HLP
を参照して下さい。(英文です)
残念ながらwin2kには入っていません。

コード例:
imgedit.ocx を参照設定(コンポーネント)
With ImgEdit1
  '.DisplayBlankImage 500, 400, 200, 200, 1
  .Image = "c:\ORG.tif"
  .AnnotationType = wiTextStamp
  .AnnotationStampText = "test"
  .Draw 100, 100, 100, 100
  .AnnotationType = wiNone
  .SaveAs "c:\NEW.tif"
End With

※  ImageMagick などでもできると思いますが・・・

御参考まで

編集 削除
石松  2004-01-20 15:12:58  No: 81578  IP: [192.*.*.*]

IMA様、お返事ありがとうございます。

ImageEditコントロールを使ったコードで、イメージどおりに動作させることができました。
ImageEditは以前にスキャニング操作に使ったことがあったのですが、
当時あまり理解せず使っていたもので、Imagingと同等の操作ができるというのは盲点でした・・。

kk様、IMA様、ご丁寧な回答をしてくださり誠にありがとうございました。

編集 削除