問題タブ [minimagick]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - mini_magick で画像のサイズを変更する
私のサービスにはWeb版とiPhone版があります。iPhone では、アップロード時にトリミングすることで、ユーザーが正方形バージョンを送信できるようにします。ウェブサイトへのアップロードも許可していますが、そのような機能はありません。
そのため、アップロードされた画像を 612 * 612 領域に合わせて拡大縮小したいと思います。これを達成するための最良の方法は何ですか?
Ruby / mini_magick を使用しています
ruby - MiniMagickの行と列
RMagickでは実行できますMagick::Image.read(url).first.columns
が、試行MiniMagick::Image.open(url).columns
するとNoMethodErrorが発生します。
MiniMagickの行と列にアクセスするにはどうすればよいですか?
ruby-on-rails - Android デバイス (Rails) の画像のサイズ変更/トリミング
Android アプリのさまざまな解像度で画像のサイズを変更/トリミングする必要があります。
よくある質問だと思いますが、自分に合った解決策が見つかりませんでした。
問題は、異なるデバイスが異なる対角線を持っていたという事実にあります。管理者は、サイズが 668x1024 の画像を 1 つだけ CMS にアップロードします (たとえば)。次に、400x600、540x960 などの解像度で画像をデバイスに送信する必要があります。電話では背景の線が表示されるため、各画像のサイズを変更することはできません。
だから、私は縦横比に違反しているか(画像が醜くなるので良くありません)、または画像をトリミングする必要があります。しかし、比率が異なるため、それを行うのは困難です。
mini-magickとg1nn13-image-scienceを試しましたが、最初のものでは現在の画像の幅と高さを取得できず (そのため、トリミング アルゴリズムを実現できません)、2 番目のものではエラーが発生しますimage_science: "no such file to load -- inline" を要求しようとすると、
すべてのヘルプとアドバイスに感謝します:それを行う方法に関するいくつかの決定(トリミングを行わないかもしれませんが、別の決定ですか?)または私を助けることができる宝石。
ありがとう。
回答:画像の現在の高さと幅を見つけるためにfastimage gem を使用し、 minimagick gem image.shaveのメソッドを使用しました。
例:
ruby-on-rails - Windows 上のポータブル ImageMagick + Rails 3.0
ここからファイルをどこに置くか
16 ビット/ピクセルのポータブル Win32 スタティック。ホストにコピーして実行するだけです (インストーラーや Windows レジストリ エントリは必要ありません)。
搬送波に使用するには?
ruby-on-rails - minimagickメソッドの「サイズ変更」はありません
Rails noobはここにあるので、何が間違っているのかわかりません。
多くのペーパークリップ機能をmini_magickに置き換えています。どういうわけか、Imageというクラスがあるという事実が物事を爆破していることに気付くまでは、かなり簡単に思えました。
MiniMagickでImageクラスの名前を変更すると、その問題は修正されましたが、MiniMagickにもあるmethod_missingというメソッドもありました。
すべての参照などの名前をmagick_method_missingに変更すると、次のエラーが発生します。
(ImageEditorは名前が変更されたクラスです)。
システムでプラグインを扱うのはこれが初めてです。私の他のすべての経験は本当に単純でした、「geminstall...」笑。誰かが私が欠けているかもしれないものを知っていますか?
今のところ、どこかで参照を見逃していないかどうかを確認するために、コードを1行ずつ調べていきます。それが私が考えることができる唯一のことです。
ruby-on-rails - mini_magick .resizeの引数の数が間違っています(1の場合は0)
ここで何が起こっているのかわかりません。
MiniMagick 3.3を使用すると、サイズを変更しようとするまで、すべてが正常に機能していました。
この行により、間違った数の引数エラーが発生します。
ドキュメントによると、これは正常に機能するはずです。
トレースは次のとおりです。
image_file = MiniMagick :: Image.open( "#{RAILS_ROOT} / public / images / i / Standard /#{baseimage.id} / original /#{baseimage.image_file_name}")
image_fileは正しいオブジェクトを返していました(各ステップを追加するときにすべてをテストしていましたが、サイズを変更するまですべてうまくいきました)
上部のセクションには、ArticlesController#updateのArgumentErrorと記載されています
完全なトレースは次のとおりです。
ruby - ImageMagick を使用してミラーリングされたテキストを画像に描画するにはどうすればよいですか?
ImageMagick (MiniMagick Ruby Gem を介して) を使用して画像をトリミングしています。その上に注釈も追加しますが、ミラーリングしたいと考えています。
ImageMagick には画像をミラーリングする「フロップ」コマンドがあることは知っていますが、テキストを生成し、フロップして画像に合成する方法がわかりません。
これが現在のテキストの描画方法です(ミラーリングされていません)。このコードは MiniMagick を使用していますが、実際の ImageMagick コマンドにかなり直接的に変換されます。
これを変更または置き換えて、ミラーリングされたテキストを描画するにはどうすればよいですか?
ruby-on-rails - 未定義のメソッドクロップ! レール 3.1.3 での MiniMagick での Carrierwave の使用
私はこれを機能させるのにかなりの時間を費やしていましたが、今でもそうです。その核心に迫ります。私は Ryan Bates のチュートリアルに従って、Jcrop と Carrierwave を使用してクロッピングを機能させています。ImageMagick と RMagick をマシンに再インストールした後でも、ローカル マシンの Rails サーバーを強制終了するエラーが発生するため、MiniMagick を使用することにしました。とにかくMiniMagickに切り替えると、それが修正されました。したがって、この時点まではすべてが本当に素晴らしいです。さまざまなサイズの画像を作成していますが、正常にアップロードされています。しかし、トリミングしようとすると、次のエラーが発生します。
Bates とほぼ同じコードを使用しているため、これは私を混乱させます。
とにかく、失敗しているのはそのトリミング方法です。それで私は自分自身にそれがImageMagickコマンドだと思った...だから私はImageMagick docoを見て、強打でトリミング方法を見つけることができなかったので、それなしで試してみたところ、エラーは次のようになりました:
とにかく、何かが私にはあまり意味がありません。どんな助けもいただければ幸いです! 読んでくれてありがとう!
ruby-on-rails - メモリを割り当てられません
サービス開始から約1週間でなぜか画像処理(carrierwave+minimagick)が動かなくなります。トラフィックやアップロード プロセスに異常な増加はありません。ENOMEM エラーが発生すると、すべてが「ロックアップ」したように見え、後続のプロセスもすべて失敗します。
システムがその動作になったら、どうすればシステムを「レスキュー」できますか、またはこれが起こらないようにすることさえできますか?
エラーの一部:
メモリとスワップ スペースの情報:
バージョン情報:
- レール 3.0.6
- ルビー 1.9.2p290
- アパッチ 2.2.14
- 乗客 3.0.9
ありがとうございました!
minimagick - 特定のピクセルの色の 16 進コードを取得する
resize_to_fill を [1,1] サイズまで使用して、基本的に画像全体の平均色を含む単一のピクセルに画像を縮小しました (もちろん、画像の高さと幅の間に大きな差異がない場合)。 . 今、この単一ピクセルの色を 16 進形式で取得しようとしています。
ターミナル ウィンドウから、次のような変換コマンドを実行できます。
ただし、画像が属するモデルの before_save セクションで、アプリケーション内からこのコマンドを実行する方法がわかりません。画像はキャリアウェーブを使用してアップロードおよび添付されます
これまでのところ、画像を取得しました:
しかし、ここから先に進む方法がよくわかりません。