Image Magickのconvertを使ったスクリプトです。
emarref/webicon · GitHub
https://github.com/emarref/webicon
ヘッダーの記述方法はこちらを参照。
Favicon Code | The Icon Handbook
http://iconhandbook.co.uk/reference/examples/favicons/
Image Magickのconvertを使ったスクリプトです。
emarref/webicon · GitHub
https://github.com/emarref/webicon
ヘッダーの記述方法はこちらを参照。
Favicon Code | The Icon Handbook
http://iconhandbook.co.uk/reference/examples/favicons/
ImageMagickではデフォルトでアスペクト比を維持するようになっていますので、何もしなければアスペクト比が維持されます。
300px、縦はアスペクト比が変わらないようにリサイズ$ convert -resize 300x infile.jpg outfile.jpg
200px、横はアスペクト比が変わらないようにリサイズ$ convert -resize x200 infile.jpg outfile.jpg
300px、縦200px以下のサイズにリサイズ$ convert -resize 300x200 infile.jpg outfile.jpg
$ convert -resize 300x200^ infile.jpg outfile.jpg
アスペクト比を無視したい場合は!フラグを使います。
$ convert -resize 300x200! infile.jpg outfile.jpg
ファイルを上書きでサイズ変更したい場合はmodifyコマンドを使います。
$ mogrify -resize 300x200 file.jpg
画像をクロップ(トリミング)したい場合はcropコマンドを使います。
$ convert -gravity Center -crop 300x200+0+0 infile.png outfile.png
※切り取る位置を変更したい場合はCenterの代わりにNorth/South/East/Westなども使えます。
Resizing or Scaling — IM v6 Examples
https://legacy.imagemagick.org/Usage/resize/
Cutting and Bordering — IM v6 Examples
https://legacy.imagemagick.org/Usage/crop/
Magick++はC++言語で使える画像処理ライブラリです。ImageMagickでできるような画像処理を自分のプログラムに組み込むことができます。
#include <Magick++.h>Magick::Image image(*argv);Magick::Image image("example.jpg");image.type(Magick::BilevelType);image.write("magick++.jpg");#include <Magick++.h> 
#include <iostream> 
int main(int ac, char **av)
{
  Magick::InitializeMagick(*av);
  try{
    Magick::Image image(av[1]);
    image.type(Magick::BilevelType);
    image.write("magick++.jpg");
  }
  catch(Magick::Exception &error_){
    std::cout << "exception: " << error_.what() << std::endl;
  } 
  return 0; 
}ヘルパースクリプトMagick++-configを使うとヘッダーのパスやリンクオプションを自動で指定できます。
c++ magick++.cc `Magick++-config --cppflags --cxxflags --ldflags --libs`