エディターで使用される実際のサイズに画像のサイズを変更しますか?


20

投稿に表示される実際のサイズに画像のサイズを変更する方法はありますか?大きな画像をインポートしてから、ビジュアルエディターでサイズを変更するユーザーがいます。これは簡単です。最初に画像エディターを開き、画像のサイズを変更して保存し、別の添付ファイルとしてアップロードすることなく、必要なサイズになるまで画像をドラッグするだけです。もちろん、これにより、投稿では100ピクセル幅の画像が、実際には1500ピクセルになることがあります。

新しい投稿が保存されたときにこれを行うプラグインはありますか?既存のフルサイズの画像(リンク用、または後でサイズ変更用)を保持したいのですが、追加のサイズを追加(および_wp_attachment_metadataオブジェクトに保存)するだけなので、この投稿には正しいサイズの画像と、フルサイズの添付ファイル。

もちろん、すべての既存の投稿も一度処理する必要があります。<img>タグはそこだけかもしれませんwidth、ただheight、またはそれらのどれも:彼らはすべて正しいを持っているので、これはすべて、クリーンアップする必要がありwidthheightそのサイズの画像。


既存の画像URLに渡されたgetパラメーターに基づいてその場で画像のサイズを変更するサーバー側のソリューションで大丈夫ですか?Apache / Mod_Rewrite?
ハクレ

@hakre:ポストを通過して各イメージをimage.png?w=300&h=400、またはに書き換えるポストセーブフィルターを意味しますimage-300x400.pngか?サイズ変更された画像を一度(その保存後のアクションで)作成し、静的ファイルとして提供するよりも有利ですか?
ヤンファブリ

@Jan Fabryはい、それは私の心にあったものです。利点は、リクエストに応じて画像を作成するだけなので、作成者が投稿を編集している限り、ファイル自体が作成されないことです。次に、編集をブロックしないように、それはwpからさらに分離されているため、サーバーサービス、CDNキャッシングの豪華なものなどを作成することもできます。:) --- wp.comは、私がそう思うなら似たようなことをする。
hakre

キャッシングと組み合わせることで、このアプローチは本当に輝いています。このためのプラグインがあると思います。Zenphoto Galleryなどのプラグインと一緒にZenphotoのインストールを実行することもできます(私自身:lmazy.verrech.net/zenphoto-gallery
Raphael

@Raphael:実際、今日私は可能なプラグインを調査しましたが、一部はこのアプローチを採用しています。あなたが私のショートリストに追加するものがある場合は、そうしてください、それはすべて編集可能です。
ヤンファブリー

回答:


11

一緒に私のニーズを解決する2つのプラグインを作成しました。現在、それらは初期のアルファ段階にあり、すべてのコメントを歓迎します。

基本プラグインはOn-Demand Resizerです。このプラグインは、アップロードディレクトリに存在しないファイルの要求を監視し、必要に応じて要求されたサイズの画像を作成します。たとえば、image-200x100.jpgを作成して返しimage.jpgますが、200 x 100ピクセルにサイズ変更されます。イメージはその名前でディレクトリに保存されるため、以降のリクエストはサーバーによって直接処理されます。

2番目のプラグインResize img tagsは<img>タグのsrc属性に幅や高さのデータが含まれるようにタグを変更します。これにより、最初のプラグインで正しい画像を提供できます。一緒に彼らは私が望むことをし、すべての既存の投稿を変換するために一度だけの関数を作成する必要がありますが、それは簡単なはずです(the_content一度だけ実行されるべきものに引っ掛かりたくありません)。

3番目の「ボーナス」プラグインである仮想中間イメージは、WordPressで新しいイメージをアップロードするときに中間イメージの作成をインターセプトします。リクエストされた場合、最初のプラグインによって作成されるため、実際に使用されない限り、ディスクスペースを消費せずに複数の画像サイズを指定できます。これは最初の2つの作業には必要ありませんが、簡単に追加でき、WordPressイメージエディターを回避する必要があるという事実を強調していますが、サムネイルエディターを作成するときにそれを行います。最初のプラグインを使用します。


1
これらの音は本当に素晴らしいです!現実のシナリオで必要なときに試してみる時間があるのが待ちきれません。
MikeSchinkel

素晴らしいもの。これらをworpdressプラグインリポジトリに追加することを検討していますか?
ハクレ

@hakre:確かにそうです。私は、彼らが得た後は、ピアレビューの準備ができて :-)
ヤンファブリ

4

"resize"または"crop"別の質問については後者の)プラグインディレクトリを検索し、公開されたGoogleスプレッドシートで自分の発見を書き留めましプラグイン検索の結果番号は非常に紛らわしい("resize"検索の最後のページに「273のプラグインの145-150を表示」が表示されている)ので、いくつか見落としているかもしれません。準関連のメモ:誰もが世界には別のスライドショープラグインが必要だと考えているようです。それcontent_save_preよりも重い構文解析を行うのに適したフィルターであるかもしれないことに気づいている人はほとんどいないようですthe_content

私はまだこれらのプラグインのいずれもテストしていませんでしたが、私が望んでいるように見えるプラグインのリストを以下に示します。「Compatible up to」バージョン番号を括弧内に追加しました。

個人的な考え:最初の4つ/wp-content/plugins/my-plugin/image.php?src=[original src]&w=100&h=50は、さまざまな形式のキャッシングを使用して、URLを動的ページ(など)に書き換えます。ImageScalerがとるアプローチに似た、必要に応じて作成される実際の画像を好みます。ただし、これを分割し(コメントにhakreの提案を含めます)、最初にすべてのURLをから/wp-content/uploads/2010/11/image.jpgに書き換えてから/wp-content/uploads/2010/11/image-100x50.jpg、不足している画像をスクリプトで作成します。このイメージに対する最初の要求はイメージを作成し、以降のすべての要求はこの作成されたイメージを使用します。これにより、機能を異なるプラグインに分割することもできます。このソリューションを別の回答に掲載します。

これらのプラグインは、画像を特定の最大サイズに制限します(これは指定と$content_widthどう違うのですか?):

  • JP-redesign-imagesは、ホットリンクされた画像とオーバーサイズの画像の両方をチェックします(サイズが大きすぎる場合のみで、サイズ変更されただけではありません)(3.0.1)
  • Hungred Image Fit、大きすぎる画像をチェックします(3.0.0)

次のプラグインは、他の理由で興味深いものです:

  • TimThumbはTinyMCE適合し、TinyMCEエディターに手動でサイズ変更ボタンが含まれています(2.8.4)

これはコミュニティWikiの投稿であるため、新しいプラグインが見つかった場合は更新できます。


0

timthumbを使用して変数を渡し、画像のサイズ/寸法とズームレベルを自動的に変更するのはどうですか?これにより、元の画像サイズを維持できます。この行にいくつかの例が必要な場合はお知らせください。


0

Wordpressには、設定可能な3つのデフォルトサイズ(小、中、大)があります。これらを使用すると、Wordpressはサイズ変更されたコピーを作成します。それらを使用し、現在のスタイルに合うように番号を設定するのがおそらく良いスタイルです。これにより、画像がページ全体で異なるサイズにならず、テーマが変更されたときにグローバルに調整できます。


事前に定義された画像サイズに固執するのが最善であることを知っていますが、クライアントはそうではありません:-)エディターで画像のサイズを変更できる場合、システムがその選択に従うのは論理的です。
1月ファブリ

さて、あなたこの可能性を取り除き、それらをきれいに動作させることができます;)
ラファエル

それは興味深い質問でもあります:「TinyMCEでサイズ変更機能を無効にするにはどうすればよいですか?」その答えがわかっている場合は、新しい質問を作成して自分で答えてください。他の人にとっては役に立つでしょう。
1月ファブリ

0

最近リリースされたImage Proプラグインはまさにこれを行うようです。まだ自分でテストしていませんでしたが、デモは非常に印象的で、ブラウザの互換性が低いことに注意してください(現時点ではFirefoxのみ)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.