PHPでは、 ImageFlip()は、GD拡張機能を有効にする必要がある場合にのみ、画像フリッピングに便利な機能です。環境で制限されている、またはセキュリティとパフォーマンスの理由でGD拡張機能を有効にしない一部のサーバーの場合、この機能を他の方法でシミュレートできます。この記事では、純粋なPHPを使用して、GD拡張機能に依存せずにImageFlip()のような画像フリップ機能を実装する方法を紹介します。
PNGやJPEGなどの一般的な画像形式を例として取ります。目標は、画像の垂直フリップ(上下)または水平フリップ(左右)関数をシミュレートすることです。 GD関数は使用できないため、画像データでのみ直接動作できます。実行可能な方法は、画像を処理のためにピクセルの配列に変換することです。次の方法をお勧めします。
imageCreateFromString()を使用する(GDが必要)
Imagicick拡張機能(代替ですが、それでも拡張)を使用します
純粋なPHPは画像データを解析します(パフォーマンスが低いですが、拡張機能はまったくありません)
この記事では、Base64 Data URIを使用してHTML5キャンバスに画像をロードし、PHPを介して同様の処理をシミュレートする方法を示します。
PHP側はピクセルデータを直接操作することはできませんが、画像をアップロードし、HTMLとJavaScriptを使用してクライアントにフリップしてから、処理された画像をアップロードできます。