Bildmanipulation

Bildmanipulation är en konst att transformera en bild på ett sätt som du önskar att den ska visas som, snarare än vad originalbilden visar.

I applikationer relaterade till räls måste manipulation göras samtidigt som bilden laddas upp enligt applikationens krav som bakgrund, färg och storlek, vilket skulle ge ett unikt utseende till applikationerna.

Vi kan uppnå detta genom att använda ImageMagick. 

  • ImageMagick är en mjukvarusvit för att skapa, redigera, komponera eller konvertera bitmappsbilder.
  • Vi kan använda ImageMagick för att ändra storlek, vända, spegla, rotera, förvränga, klippa och transformera bilder, justera bildfärger, tillämpa olika specialeffekter eller rita text, linjer, polygoner, ellipser och Bézier-kurvor.

Funktioner hos ImageMagick: 

  • Formatkonvertering: konvertera en bild från ett format till ett annat (t.ex. PNG till JPEG).
  • Omvandla: ändra storlek på, rotera, beskära, vända eller trimma en bild.
  • Genomskinlighet: gör delar av en bild osynliga.
  • Dra: lägg till former eller text till en bild.
  • Dekorera: lägg till en ram eller ram till en bild.
  • Specialeffekter: oskärpa, skärpa, tröskelvärda eller tona en bild.
  • Animation: skapa en GIF-animationssekvens från en grupp bilder.
  • Text & kommentarer: infoga beskrivande eller konstnärlig text i en bild.
  • Bildidentifiering: beskriv formatet och attributen för en bild.
  • Sammansatt: överlappar en bild över en annan.
  • Montage: ställ bildminiatyrer på en bildduk.

Lägg till gem rmagick för ruby eller rmagick4j för jruby i din gem-fil.

Genom att använda gem convert_options kan vi ge alternativ för bakgrundsfärg, kantfärg, kvalitet, omstorlek, skugga etc.,

Bildbeskärning:

Implementeras med hjälp av gem och jcrop

Vi kan anropa jcrop direkt med id/klass. Då kan vi få den nya höjden och bredden.

$(funktion() {

$('#cropbox').Jcrop();

});

För standard beskärningsstorlek

$(funktion() {

$('#cropbox').Jcrop({

onChange: update_crop,

onSelect: update_crop,

setSelect: [0, 0, 500, 500],

bildförhållande: 1

});

});

För uppdatering av beskärningsstorlek

function update_crop(coords) {

$('#crop_x').val(coords.x);

$('#crop_y').val(coords.y);

$('#crop_w').val(coords.w);

$('#crop_h').val(coords.h);

}

Referens: http://railscasts.com/episodes/182-cropping-images?view=asciicast

Bildbakgrund:

I vår modell kan vi lägga till convert_option för bildfältet och vi kan ställa in önskad färg som bakgrund.

Till exempel givet rosa.

:convert_options => {

:all => '-background HotPink -alpha Background'

}

Validering av bilddimension:

Med hjälp av Paperclip::Geometry kan vi ställa in bildens bredd och höjd till något värde.

def file_dimensions(width = 100, height = 100)

dimensioner = Gem::Geometry.from_file(photo.queued_for_write[:original].path)

om inte dimensions.width < width && dimensions.height < höjd

errors.add :photo, "Bredden måste vara #{width}px och höjden måste vara #{height}px"

slutet

slutet

Referens:http://stackoverflow.com/questions/5454561/rails-paperclip-how-to-check-the-image-dimensions-before-saving

Bildupplösning:

Vi kan ställa in bildupplösning med convert_options → kvalitetsalternativ.

Med detta alternativ kan vi bara ställa in upplösning.

:convert_options => {

:all => '-kvalitet 75'

}

Här kan kvaliteten ställas in i intervallet 0-100.

Referens:

http://www.imagemagick.org/script/command-line-options.php

http://www.imagemagick.org/script/convert.php

Avslutande anmärkning:

Bildmanipulationen är därför till hjälp för att omvandla bilderna enligt användarens krav och därmed få dem att känna att deras applikationer eller bilder är ännu mer attraktiva.

Detta gör det möjligt att beskära, rotera, ändra storlek på bilderna enligt våra krav och har ett brett spektrum av tillämpningar i dessa dagar.

Läs mer :

Med geniala lösningar, progressiva affärsvärden och beprövad meritlista, RailsCarma är bäst lämpad att hjälpa dig med alla dina utvecklingsbehov. Vår utvecklingsprocess är starkt förankrad på outtröttlig uppmärksamhet på detaljer, inklusive kvalitet, design och excellens. Vi omsätter dina idéer till verklighet. Anslut till oss genom vår Kontakta oss sida.

Manasa Heggere
 
Senior Ruby on Rails-utvecklare

Prenumerera för de senaste uppdateringarna

relaterade inlägg

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

sv_SESwedish