phpinfo() でのページ表示で、下状態になっていたらOKです。
Semakin di depan
phpinfo() でのページ表示で、下状態になっていたらOKです。
よく間違うので、備忘録しておきます。
[ コード例 ]
//$('#id').on('click', 'button', function (e) {
// 後から追加なので、上は効かない //
$(document).on('click', '#id', function (e) {
ここに詳しく書かれてます。
サーバーサイドでの画像処理は、ImageMagick を使ってましたが、脆弱性があり、使用回避することになり、PHP GD の利用に置換予定です。
[ ImageMagick 脆弱性情報 ]
https://www.mbsd.jp/blog/20180831.html
https://qiita.com/yoya/items/2076c1f5137d4041e3aa
https://blog.cybozu.io/entry/2018/08/21/080000[
[ 準備 ]
CentOS7の yum でインストールした7系では、何もしなくても GDライブラリが使えます。
Windows の場合、php.ini に以下の記述を追加して有効化します。
[PHP_GD2] extension=php_gd2.dll
[ コード例 ]
<?php
/**
* GD 画像回転変換
* argv : 1 : ソースファイル名, 2 : デストファイル名, 3 : 角度
*/
// 引数取得 //
$srcfnm = $argv[1];
$dstfnm = $argv[2];
$degree = $argv[3];
// 画像タイプ取得 //
list($src_width, $src_height, $type) = getimagesize($srcfnm);
switch ($type) {
case IMAGETYPE_JPEG: // 2
$im = imagecreatefromjpeg($srcfnm);
break;
case IMAGETYPE_PNG: // 3
$im = imagecreatefrompng($srcfnm);
break;
case IMAGETYPE_GIF: // 1
$im = imagecreatefromgif($srcfnm);
break;
}
// ++ 回転して保存 ++ //
$res = 1;
if ($im) {
// 回転 //
//$degree = $degree * -1;
$rotate = imagerotate($im, $degree * -1, 0); // 0 は余白色
// 保存 //
if ($type == IMAGETYPE_JPEG) {
imagejpeg($rotate, $dstfnm);
}
else if ($type == IMAGETYPE_PNG) {
imagepng($rotate, $dstfnm);
}
else {
imagegif($rotate, $dstfnm);
}
}
else {
$res = 0;
}
// メモリの開放 //
imagedestroy($im);
imagedestroy($rotate);
// 連想配列に格納 //
$responce = [];
$responce["Degree"] = (int)$degree;
$responce["Result"] = $res;
// 処理結果をJSONに変換して出力 //
echo json_encode($responce, JSON_PRETTY_PRINT);
?>
サーバーサイドでの画像処理は、ImageMagick を使ってましたが、脆弱性があり、使用回避することになり、PHP GD の利用に置換予定です。
[ ImageMagick 脆弱性情報 ]
https://www.mbsd.jp/blog/20180831.html
https://qiita.com/yoya/items/2076c1f5137d4041e3aa
https://blog.cybozu.io/entry/2018/08/21/080000[
[ 準備 ]
CentOS7の yum でインストールした7系では、何もしなくても GDライブラリが使えます。
Windows の場合、php.ini に以下の記述を追加して有効化します。
[PHP_GD2] extension=php_gd2.dll
[ コード例 ]
<?php
/**
* GD 画像灰色セピア変換
* argv : 1 : ソースファイル名, 2 : デストファイル名, 3 : セピア or Not
*/
// 引数取得 //
$srcfnm = $argv[1];
$dstfnm = $argv[2];
$flgsepia = $argv[3];
// 画像タイプ取得 //
list($src_width, $src_height, $type) = getimagesize($srcfnm);
switch ($type) {
case IMAGETYPE_JPEG: // 2
$im = imagecreatefromjpeg($srcfnm);
break;
case IMAGETYPE_PNG: // 3
$im = imagecreatefrompng($srcfnm);
break;
case IMAGETYPE_GIF: // 1
$im = imagecreatefromgif($srcfnm);
break;
}
// 変換して保存 //
$res = 1;
//if ($im && imagefilter($im, IMG_FILTER_GRAYSCALE)) {
if ($im) {
// セピア //
if ($flgsepia == 1) {
//imagefilter($im, IMG_FILTER_COLORIZE, 255, 50, 50);
//imagefilter($im, IMG_FILTER_COLORIZE, 100, 0, 0);
//imagefilter($im, IMG_FILTER_COLORIZE, 255, 0, 0);
//imagefilter($im, IMG_FILTER_COLORIZE, 128, 50, 50);
imagefilter($im, IMG_FILTER_GRAYSCALE);
imagefilter($im, IMG_FILTER_COLORIZE, 100, 50, 0);
// https://www.phpied.com/image-fun-with-php-part-2/ これを真似る
}
// 白黒 //
else {
imagefilter($im, IMG_FILTER_GRAYSCALE);
}
if ($type == IMAGETYPE_JPEG) {
imagejpeg($im, $dstfnm);
}
else if ($type == IMAGETYPE_PNG) {
imagepng($im, $dstfnm);
}
else {
imagegif($im, $dstfnm);
}
}
else {
$res = 0;
}
imagedestroy($im);
// 連想配列に格納 //
$responce = [];
$responce["Sepia"] = (int)$flgsepia;
$responce["Result"] = $res;
// JSONに変換して出力 //
echo json_encode($responce, JSON_PRETTY_PRINT);
?>
セピア変換はここで教えていただきました : https://www.phpied.com/image-fun-with-php-part-2/
マニュアル : https://php.plus-server.net/function.imagefilter.html
|
子供は、その時点時点で常に現代人であり、
また、未来人でもある。
|
英会話で困ったことはない。
その代わり、相手が困ってる。
むずかしいことをやさしく、やさしいことをふかく、ふかいことをおもしろく
|
特に年齢を重ね、経験を積めば積むほど、先入観が増してきます。
|
人生最大の楽しさと言ったら、人に模倣されることでしょうね。
|
あらゆる芸術の士は、人の世をのどかにし、人の心を豊かにするがゆえに尊い。
|
|
|
|
|
|
コメントを投稿するにはログインしてください。