喫茶XRAYトップページ


[11393] ImageMagick返信 削除
2017/9/27 (水) 20:07:53 Mr.XRAY
以下の記事を追加しました.

[ImageMagick を使用した画像ファイル形式の変換]
http://mrxray.on.coocan.jp/Delphi/Others/ImageMagick.htm


[11394] Re:ImageMagick返信 削除
2017/9/27 (水) 22:38:28 Mr.XRAY
> [ImageMagick を使用した画像ファイル形式の変換]
> http://mrxray.on.coocan.jp/Delphi/Others/ImageMagick.htm


以前,と言っても 2009年ですか,その時にテストした時は
Visual C++ ランタイムパッケージがインストールされていない
環境ではエラーとなりました.
先ほど,アプリを全くインストールしていない Windows XP(SP3)
で EXE を実行したところ,一番最後のサンプル,
PNG -> GIF のサンプルですが,動作しました.

もしかしたら,
最近の ImageMagick では Visual C++ ランタイムパッケージ
が必要ないのかも知れません.


[11395] Visual C++ ランタイムパッケージ返信 削除
2017/9/28 (木) 16:15:48 Mr.XRAY
> 最近の ImageMagick では Visual C++ ランタイムパッケージ
> が必要ないのかも知れません.


わっかりました.2009年の時は

 WandExport = 'CORE_RL_Wand_.dll';

     ↓ 以下に変更

  WandExport = 'CORE_RL_MagickWand_.dll'

という処理をしていませんでした.
Visual C++ ランタイムパッケージに CORE_RL_Wand_.dll があり,
それを使用するようにしたということのようです.
同名の dll は PHP 関係のライブラリにもあります.

なんとなくいきさつが見えてくる経過です (^^;
つまり,Visual C++ ランタイムパッケージは不要ということです.ハイ.
記事の方も修正しておきました.

あと,問題は文字列の扱いですね.UTF-8 ...


[11403] ImageMagickで日本語返信 削除
2017/10/1 (日) 19:10:47 Mr.XRAY
> あと,問題は文字列の扱いですね.UTF-8 ...

少しやってみましたが無理があるようです.
下の図はコードそのテストの一部です.
logo.png 画像にテキスト書き込みで,サイズ変更して別名保存します.


[773] [06_ファイル名が日本語のファイルをアップロード ]
http://mrxray.on.coocan.jp/Delphi/plSamples/773_Indy_FTPGetPut.htm#06

のように  MECSUtils を使ったらと思ったけど残念 !!
ファイル名だから関係ないだろう !!
なんですが,溺れる者は何とかでして ... ハハハ.
だって,

[ ImageMagick のコマンドラインツールで PDF を JPEG 画像に変換]
http://mrxray.on.coocan.jp/Delphi/Others/ImageMagick.htm#04

ではファイル名に日本語を使用してますが,動作していますから.
コマンドラインからですと UTF-8 のファイルを使用すれば処理可能
なようですが,試していません.

[Unicode or UTF8 Format Text]
http://www.imagemagick.org/Usage/text/#unicode

implementation

uses
  magick_wand,
  ImageMagick;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  LReadPath  : UTF8String;
  LWritePath : UTF8String;
  Lwand      : PMagickWand;
  LDrawWand  : PDrawingWand;
  LText      : UTF8String;
begin
  LReadPath  := ExpandFileName('logo.png');
  LWritePath := ExpandFileName('logo2.png');

  MagickWandGenesis;

  Lwand     := NewMagickWand;
  LDrawWand := NewDrawingWand;
  try
    MagickReadImage(Lwand, PChar(LReadPath));

    DrawSetFontSize(LDrawWand, 300);
    LText := Utf8String('日本');
    MagickAnnotateImage(Lwand, LDrawWand, 150.0, 1500.0, 0.0, PChar(LText));
    MagickDrawImage(Lwand, LDrawWand);

    MagickScaleImage(Lwand, 250, 250);

    MagickWriteImage(Lwand, PChar(LWritePath));
  finally
    DestroyMagickWand(Lwand);
    DestroyDrawingWand(LDrawWand);
  end;
end;


最初の図が「日本」という文字列を描画したもの
次の図は「Hello!」という文字列を描画した結果

[11398] Re:ImageMagick返信 削除
2017/9/29 (金) 17:04:52 Mr.XRAY
> [ImageMagick を使用した画像ファイル形式の変換]
> http://mrxray.on.coocan.jp/Delphi/Others/ImageMagick.htm


以下のサンプルを追加しました.
これだけあれば,後はなんとかなるでしょう.

[ ImageMagick で扱える画像形式をリスト]
[ ImageMagick のコマンドライン実行で結果を取得する方法]
[ タイプライブラリの取り込みで mageMagick を使用]

↓ 以降です.
http://mrxray.on.coocan.jp/Delphi/Others/ImageMagick.htm#06


[11404] Re2:ImageMagick返信 削除
2017/10/2 (月) 08:18:34 Mr.XRAY
> > [ImageMagick を使用した画像ファイル形式の変換]
> > http://mrxray.on.coocan.jp/Delphi/Others/ImageMagick.htm


記事に間違いがありました.というより「嘘」を書いていました.
修正しました.

『マコ,貴方に教えてあげたい
人は時には悲しい嘘をつかなければならないことを』
(若きいのちの日記―愛と死の記録より)


[11405] Re3:ImageMagick返信 削除
2017/10/2 (月) 08:33:05 Mr.XRAY
> 記事に間違いがありました.というより「嘘」を書いていました.
> 修正しました.


PascalMagick のデモプログラムに MagickWandTerminus というのが
プログラムの最後にあります.これがあると
EXE を再起動しないと ImageMagick を実行しなくなってしまいます.
サンプルのコードから削除しました.問題はないようてす.

それと,portable 版ではコマンドの機能の一部が使用できない
ということを書いていましたが,環境変数の PATH にフォルダの
パスを追加すれば可能です.
パスの追加方法の記事も追加しておきました.


[11406] 押したキーの名前返信 削除
2017/10/2 (月) 20:52:39 Mr.XRAY
以下の記事を追加しました.

[260] [07_押下したキーの名前を取得]
http://mrxray.on.coocan.jp/Delphi/plSamples/260_HookKeyMouseEvent.htm#07

HDD 内のファイル整理で見つけたものです.
役にたつかどうかは疑問ですが.

ImageMagick も以下のスレッドに書き込んだ時のプロジェクトが
残っていたので,このまま削除しようか,記事にしようか迷って,
結果的に記事にしました.ということでございます.ハイ.

[Delphi+ImageMagick]
http://madia.world.coocan.jp/cgi-bin/DelphiBBS/wwwlng.cgi?print+200904/09040042.txt


INCM/CMT
Cyclamen v3.82