検索
ホームページバックエンド開発PHPチュートリアル画像のサイズ変更は、PHPで簡単になりました

Image Resizing Made Easy With PHP

PHPで画像を変更するための万能で使いやすい方法を望んでいましたか?まあ、それがPHPクラスの目的です。舞台裏で汚い仕事をするために私たちが呼ぶ再利用可能な機能性です。よく構築され拡張可能な独自のクラスを作成する方法を学びます。 

はじめに

クラスで達成しようとしていることをすばやく垣間見るために、クラスは次のようになります。クラスとオブジェクト、そしてこのスキルは役立つでしょうが、このチュートリアルに従うためには必要ありません。
    カバーすることがたくさんあります。準備
  • 最初のステップは簡単です。ワーキングディレクトリで、2つのファイルを作成します。1つは index.php
  • と呼ばれます。オブジェクトを呼び出して
  • 私たちが達成しようとしていることのアイデアを提供するには、画像のサイズを変更するために使用するコールをコーディングすることから始めます。
  • index.php
ファイルを開き、次のコードを追加します。画像ファイルを開き、画像のサイズを変更する寸法とサイズ変更の種類を設定します。次に、画像を保存して、画像形式と品質を選択します。上記のコードから

index.php

ファイルを保存して閉じます。覚えておいてください、それはすべて柔軟性に関するものです。クラスのスケルトン

この簡単なことを可能にするオブジェクト指向プログラミング(OOP)です。パターンのようなクラスを考えてください。データをカプセル化できます。これは、データを隠すことを意味する別の専門用語用語です。その後、サイズ変更コードを書き換える必要なく、このクラスを何度も再利用できます。ステップ2のように、適切な方法を呼び出す必要があります。パターンが作成されたら、オブジェクトと呼ばれるこのパターンのインスタンスを作成します。

resize-class.php

ファイルを開きます。以下は、$ filename と名付けた本当に基本的なクラスのスケルトン構造です。PHPが画像を読むことができるように、PHP(より具体的にはPHP GDライブラリ)で渡されたファイルを開く必要があります。プライベートと入力することにより、プライベート変数としてカスタムメソッド$ image

を使用してこれを行っています。その変数の範囲を制限して、クラスによってのみアクセスできるようにします。これからは、リソースとして知られるオープンした画像に電話をかけることができます。

私たちがそれにいる間、画像の高さと幅を保管しましょう。これらは後で役に立つと感じています。

次のようになります。

// *** Include the class<br>include("resize-class.php");<br><br>// *** 1) Initialize / load image<br>$resizeObj = new resize('sample.jpg');<br><br>// *** 2) Resize image (options: exact, height, width, auto, crop)<br>$resizeObj -> resizeImage(150, 100, 'crop');<br><br>// *** 3) Save image<br>$resizeObj -> saveImage('sample-resized.gif', 100);<br>

画像()メソッドは、GDライブラリの一部である組み込み関数です。彼らはそれぞれあなたの画像の幅と高さを取得します。画像を開く前のステップでは、指定された文字の最後の発生から終わりまでメイン文字列の一部を返すカスタムメソッドstrrchr()

関数をPHPで呼び出します。たとえば、Filename は、

Auto-Determine Options 2および3。異なるサイズの写真のあるフォルダーをループしている場合は、スクリプトにこれを処理する方法を決定します。 (作物) 7。サイズ変更。それをしましょう!サイズ変更方法には2つの部分があります。 1つ目は、いくつかのカスタムメソッドを作成することにより、新しい画像の最適な幅と高さを取得し、もちろん上記のようにサイズ変更オプションを渡すことです。幅と高さは配列として返され、それぞれの変数に設定されます。参考までに渡してください。しかし、私はそれの大ファンではありません。2番目の部分は、実際のサイズ変更を実行するものです。サイズ変更には、2つの組み込みのPHP関数を使用します。彼らは次のとおりです:

imageCopyResampled 他のクラス変数を使用します。使用しているメソッドの多くは、このライブラリによって提供されています。

  • 上記のコードスニペットでは、新しい画像寸法を計算し、それに応じて真のカラー画像オブジェクトを作成します。この画像オブジェクトは、高さ
  • またはautoに渡され、画像の元の幅と高さを使用して、サイズ変更された画像に固定幅か高さがあるかを判断します。ランドスケープオリエンテーションの画像については、幅を固定します。ポートレートオリエンテーションの画像については、高さを固定します。元の画像が正方形の場合、新しい幅と高さの値を使用して固定寸法を選択します。その理由は、画像を指定された幅と高さに直接トリミングする代わりに、私たちのクラスはサイズ変更後に画像をトリミングするからです。

    画像の寸法は1920Wと1080Hであり、1200Wと200Hにトリミングしたいとします。ご覧のとおり、元の幅と新しい幅の比率は、対応する高さ比よりも低くなります。したがって、画像は最初にその幅が1200に下がり、高さがそれに応じて変化するようにサイズを変更する必要があります。作物

    作物を選択した場合、つまり作物オプションを使用した場合、もう1つのステップがあります。センターから画像をトリミングします。トリミングは、サイズ変更に非常によく似たプロセスですが、いくつかのよりサイズのパラメーターが渡されます。画像を保存してください


    私たちはそこに到達しています。ほぼ完了。今こそ画像を保存する時が来ました。パスを通過し、0〜100の範囲の画質を指定し、100が最高です。次に、適切な方法を呼び出します。画質について注意すべきいくつかのこと:JPGは0〜100のスケールを使用し、100が最高です。 GIF画像には画質設定がありません。 pngsはそうしますが、スケール0-9、0を使用します。画像を保存したいたびにこれを覚えておくことを期待できないので、これは良くありません。したがって、すべてを標準化するために少し魔法をかけることができます。

    今こそ、メモリを解放するための画像リソースを破壊する良い時期でもあります。これを生産で使用する場合、保存された画像の結果をキャプチャして返すことも良い考えかもしれません。このチュートリアルをフォローしていただきありがとうございます。

  • 以上が画像のサイズ変更は、PHPで簡単になりましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    PHPセッションを失敗させる可能性のあるいくつかの一般的な問題は何ですか?PHPセッションを失敗させる可能性のあるいくつかの一般的な問題は何ですか?Apr 25, 2025 am 12:16 AM

    PHPSESSIONの障害の理由には、構成エラー、Cookieの問題、セッションの有効期限が含まれます。 1。構成エラー:正しいセッションをチェックして設定します。save_path。 2.Cookieの問題:Cookieが正しく設定されていることを確認してください。 3.セッションの有効期限:セッションを調整してください。GC_MAXLIFETIME値はセッション時間を延長します。

    PHPでセッション関連の問題をどのようにデバッグしますか?PHPでセッション関連の問題をどのようにデバッグしますか?Apr 25, 2025 am 12:12 AM

    PHPでセッションの問題をデバッグする方法は次のとおりです。1。セッションが正しく開始されるかどうかを確認します。 2.セッションIDの配信を確認します。 3.セッションデータのストレージと読み取りを確認します。 4.サーバーの構成を確認します。セッションIDとデータを出力し、セッションファイルのコンテンツを表示するなど、セッション関連の問題を効果的に診断して解決できます。

    session_start()が複数回呼び出されるとどうなりますか?session_start()が複数回呼び出されるとどうなりますか?Apr 25, 2025 am 12:06 AM

    session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

    PHPでセッションのライフタイムをどのように構成しますか?PHPでセッションのライフタイムをどのように構成しますか?Apr 25, 2025 am 12:05 AM

    PHPでのセッションライフサイクルの構成は、session.gc_maxlifetimeとsession.cookie_lifetimeを設定することで達成できます。 1)session.gc_maxlifetimeサーバー側のセッションデータのサバイバル時間を制御します。 0に設定すると、ブラウザが閉じているとCookieが期限切れになります。

    セッションを保存するためにデータベースを使用することの利点は何ですか?セッションを保存するためにデータベースを使用することの利点は何ですか?Apr 24, 2025 am 12:16 AM

    データベースストレージセッションを使用することの主な利点には、持続性、スケーラビリティ、セキュリティが含まれます。 1。永続性:サーバーが再起動しても、セッションデータは変更されないままになります。 2。スケーラビリティ:分散システムに適用され、セッションデータが複数のサーバー間で同期されるようにします。 3。セキュリティ:データベースは、機密情報を保護するための暗号化されたストレージを提供します。

    PHPでカスタムセッション処理をどのように実装しますか?PHPでカスタムセッション処理をどのように実装しますか?Apr 24, 2025 am 12:16 AM

    PHPでのカスタムセッション処理の実装は、SessionHandlerInterfaceインターフェイスを実装することで実行できます。具体的な手順には、次のものが含まれます。1)CussentsessionHandlerなどのSessionHandlerInterfaceを実装するクラスの作成。 2)セッションデータのライフサイクルとストレージ方法を定義するためのインターフェイス(オープン、クローズ、読み取り、書き込み、破壊、GCなど)の書き換え方法。 3)PHPスクリプトでカスタムセッションプロセッサを登録し、セッションを開始します。これにより、データをMySQLやRedisなどのメディアに保存して、パフォーマンス、セキュリティ、スケーラビリティを改善できます。

    セッションIDとは何ですか?セッションIDとは何ですか?Apr 24, 2025 am 12:13 AM

    SessionIDは、ユーザーセッションのステータスを追跡するためにWebアプリケーションで使用されるメカニズムです。 1.ユーザーとサーバー間の複数のインタラクション中にユーザーのID情報を維持するために使用されるランダムに生成された文字列です。 2。サーバーは、ユーザーの複数のリクエストでこれらの要求を識別および関連付けるのに役立つCookieまたはURLパラメーターを介してクライアントに生成および送信します。 3.生成は通常、ランダムアルゴリズムを使用して、一意性と予測不可能性を確保します。 4.実際の開発では、Redisなどのメモリ内データベースを使用してセッションデータを保存してパフォーマンスとセキュリティを改善できます。

    ステートレス環境(APIなど)でセッションをどのように処理しますか?ステートレス環境(APIなど)でセッションをどのように処理しますか?Apr 24, 2025 am 12:12 AM

    APIなどのステートレス環境でのセッションの管理は、JWTまたはCookieを使用して達成できます。 1。JWTは、無国籍とスケーラビリティに適していますが、ビッグデータに関してはサイズが大きいです。 2.cookiesはより伝統的で実装が簡単ですが、セキュリティを確保するために慎重に構成する必要があります。

    See all articles

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    mPDF

    mPDF

    mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

    VSCode Windows 64 ビットのダウンロード

    VSCode Windows 64 ビットのダウンロード

    Microsoft によって発売された無料で強力な IDE エディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ZendStudio 13.5.1 Mac

    ZendStudio 13.5.1 Mac

    強力な PHP 統合開発環境