Korzystanie z narzędzia CarrierWave w Rails 3.0, w jaki sposób można wykonać kod, zmieniając zdjęcia o szerokości większej niż 500 pikseli na 500 pikseli i dostosowując odpowiednio wysokość - zachowując ten sam początkowy współczynnik szerokości do wysokości.NośnikRozmiar i zmiana rozmiaru do konkretnej szerokości
Odpowiedz
Zakładając, że używasz rmagick lub MiniMagick, dodać tę linię do klasy Udostępniający:
process :resize_to_fit => [500]
Więcej informacji:
http://carrierwave.rubyforge.org/rdoc/classes/CarrierWave/RMagick.html#M000064 http://www.imagemagick.org/RMagick/doc/ image3.html # resize_to_fit
Spowoduje to powiększenie małych obrazów oraz zmniejszenie dużych obrazów. Pytanie dotyczy tylko zmniejszenia dużych obrazów: 'process: resize_to_limit => [500]' –
Czy możesz poprosić o szerokość obrazu w drodze do tego fragmentu logiki? Następnie użyj i jeśli w innym przypadku skonstruuj. – BuddyJoe
Co dokładnie próbujesz zrobić? –
Wiem, że to stare pytanie, ale potrzebowałem czegoś podobnego.
Chciałem, aby obrazy były przeskalowywane, jeśli były większe niż podany rozmiar, ale nie były przeskalowane, gdyby były mniejsze.
resize_to_limit (szerokość, wysokość)
zmiana rozmiaru obrazu w celu dopasowania w określonych wymiarach przy zachowaniu oryginalnej proporcji. Zmienia rozmiar obrazu tylko wtedy, gdy jest większy niż określone wymiary. Wynikowy obraz może być krótszy lub węższy niż podany w mniejszym wymiarze, ale nie będzie większy niż określone wartości.
Szczegóły: http://carrierwave.rubyforge.org/rdoc/classes/CarrierWave/MiniMagick.html#M000051
Jeśli chcesz ograniczyć tylko szerokość, przeznaczenie:
process :resize_to_limit => [500, -1]
i zastosowanie:
process :resize_to_limit => [-1, 500]
tylko ograniczyć wysokość.
Rzuca 'wysokość musi być> = 0: -1' – MaicolBen
process :resize_to_limit => [500, 0]
ten przetwarza obraz, który ma być szerszy niż 500px zachowując odpowiednie proporcje i umożliwiając dowolną wysokość.
Używanie tego z karabinami nośnymi 0.10.0 i mini_magic 3.6.0 powodowało, że obrazy były zmniejszane do 1x1 pikseli. Używanie '[500, zero]' zamiast argumentów działało dla mnie. – efatsi
- 1. jQuery tablesorter + zmiana szerokości kolumn
- 2. Zmiana rozmiaru obrazów w interfejsie UIWebView do rozmiaru obszaru wyświetlania
- 3. zmiana rozmiaru mapy google do grupy znaczników
- 4. Zmiana rozmiaru UIWebview do zawartości
- 5. Zmiana szerokości paska przewijania
- 6. Zmiana szerokości i wysokości suwaka jQuery
- 7. Django: zmiana rozmiaru zdjęcia i przesłać do S3
- 8. Imagemagick - Zmiana rozmiaru obrazów na wysokość 25px i współczynnik proporcji
- 9. Zmiana rozmiaru ramki UIWebView nie zmienia rozmiaru wewnętrznej zawartości
- 10. zmiana rozmiaru czcionki tekstu
- 11. Zmiana rozmiaru/Kadrowanie i Dołączanie 4 zdjęć
- 12. Zmiana rozmiaru UITableView programowo
- 13. IFrame Zmiana rozmiaru obrazu
- 14. Zmiana rozmiaru pól w Django Admin
- 15. Zmiana rozmiaru Androida-Seekbar?
- 16. Najlepsza zmiana rozmiaru i/lub logika zbiorów
- 17. Zmiana rozmiaru szablonu GLKView
- 18. Zmiana rozmiaru wektorowego STL
- 19. Zmiana rozmiaru obrazu 3D (i ponowne próbkowanie)
- 20. Picasso - zmiana rozmiaru zastępczy
- 21. ggmap zmiana rozmiaru mapy
- 22. Carrierwave - zmiana rozmiaru obrazów na ustaloną szerokość
- 23. PHP/GD - Kadrowanie i zmiana rozmiaru obrazów
- 24. JavaFX - SplitPane, zmiana rozmiaru i proporcje
- 25. Animowanie CAShapeLayer zmiana rozmiaru
- 26. Zmiana rozmiaru tablicy 3D
- 27. Zmiana rozmiaru słowa JTextArea
- 28. Zmiana rozmiaru obrazu bitmapowego
- 29. Zmiana rozmiaru okna Windrooka
- 30. PhpStorm - zmiana rozmiaru i koloru zmienionych linii
możliwe duplikat [Carrierwave - zmiana rozmiaru zdjęć do stałej szerokości] (http://stackoverflow.com/questions/8570181/carrierwave-resizing-images-to-fixed-width) –
to nie duplikat - chodzi o zachowanie proporcji z jednym wymiarem. – sevenseacat