Bir tasvirni kichikroq bo'laklarga kesib tashlang

Menga katta rasm fayllari bilan yordam beradigan ba'zi ruby ​​skriptlarini yozish kerak. Tasavvurim va rmagik kutubxonasi (ruby) asoslarini bilaman, ammo hozirga qadar odatdagi narsalarni qilardim (kichiklashtirish, suv belgilarini qo'shish va hokazo.) Endi 3000/1000px resoultion bilan faylni o'nta kichik rasmga (3000/100 px ). Buni iloji bormi? Qanday usuldan foydalanishni bilmayman.

1

2 javoblar

Kirish tasvirini har bir chiqishi uchun bir marta pinglash uchun crop haqida nima deyish mumkin:

output_images =
  (0...10).collect { |i|
    input_image.crop(0, i*100, 3000, 100, true)
  }

Keyinchalik umuman (lekin Y qarorini tillarning soniga qarab ajratiladi):

def slice_image_horizontally(image, num_slices)
  slice_height = image.y_resolution/num_slices
  (0...num_slices).collect { |i|
    image.crop(
      0, i * slice_height,
      image.x_resolution, slice_height,
      true # reset image offset
    )
  }
end

http://www.imagemagick.org/RMagick/doc/image1.html#crop

5
qo'shib qo'ydi
Katta javob uchun katta rahmat!
qo'shib qo'ydi muallif Arti, manba
10.times do |slice|
  system "convert example.jpg -crop x100+0+#{slice * 100} +repage example#{slice}.jpg"
end

EDIT: Ha, menimcha, RMagik sovuq :)

1
qo'shib qo'ydi
Yaxshiyamki Amadan;)
qo'shib qo'ydi muallif Arti, manba
Ha, men convert ni taklif qildim, lekin Arti ayniqsa ruby va RMagickdan foydalanishni aytdi. Va + repage yaxshi ta'qib; Javobimga munosib narsa qo'shdim.
qo'shib qo'ydi muallif wdebeaum, manba