2

PHP GD function のNodeJSで同等のものを見つけようとしましたが、うまくいきませんでしimagecopyresampledた。

これは単に画像のサイズを変更するのではなく、画像の一部を取得して別の画像に挿入します。

私はこのライブラリを見つけます:

  • gm
  • キャンバス
  • イメージマジック
  • 簡単な画像
  • ノード gd

しかし、同等のものはありません。関数imagecreatetruecolorと同じことであり、オフセットと指定された幅/高さの選択で画像の一部を選択せず​​に、単に画像のサイズを変更/トリミングするだけです。

NodeJSに相当するものを知っている人はいますか?

4

1 に答える 1

2

OK、応答が見つかりました。node-gd を使用します。以前の検索で、ノードの古い gd ライブラリを見つけました。

これは正しいライブラリです: https://github.com/mikesmullin/node-gd

空の画像を作成するには、次の関数を使用します:createTrueColor(width, height) 画像をリサンプリングまたはカットするには、次の関数を使用します:copyResampled()

これは、同じパラメーターを持つ PHP 関数に似ています。wiki はこちらから入手できます: https://github.com/taggon/node-gd/wiki

そして基本的な例:

var fs   = require('fs');
var path = require('path');
var gd   = require('gd');
var source = './test.png';
var target = './test.thumb.png';

if (path.exists(target)) fs.unlink(target);

gd.openPng(
    source,
    function(png, path) {
        if(png) {
            var w = Math.floor(png.width/2), h = Math.floor(png.height/2);
            var target_png = gd.createTrueColor(w, h);

            png.copyResampled(target_png,0,0,0,0,w,h,png.width,png.height);
            target_png.savePng(target, 1, gd.noop);
    }
});
于 2013-07-08T14:32:08.597 に答える