গিম্পে নির্দিষ্ট এক্স, ওয়াই অবস্থানে একটি স্তর সরান


58

গিম্পের ক্যানভাসের মধ্যে কীভাবে আমি একটি স্তর একটি নির্দিষ্ট এক্সওয়াই অবস্থানে নিয়ে যেতে পারি?

বর্তমানে, আমি কেবলমাত্র পথটি খুঁজে পাচ্ছি তা হল এটি গাইড এবং / অথবা মাউসের অবস্থানের সাথে কেবল চোখের পাতায়। আমি সঠিক X এবং Y স্থানাঙ্ক নির্দিষ্ট করতে চাই।


আমি এটিও জানতে চাই বা ফটোশপে এটি কীভাবে করব। আমি তার জন্য একটি প্রশ্ন করেছি। superuser.com/questions/345669/…
জনি

1
নীচে বিস্তারিত হিসাবে পাইথন কোডটি ব্যবহার না করে জিআইএমপিতে (সহজেই) সম্ভব হবে বলে মনে হচ্ছে না: গ্রাফিকডিজাইন.সটেকেক্সচেঞ্জ
6813

হ্যা এটা সম্ভব. আমার উত্তর পড়ুন।
ডেভিড

উত্তর:


31

আমি ভয় করি যে গিম্প এটির অন্তর্ভুক্ত না করে কারণ এটি ক্লান্তিকর। আপনি ডিজাইন করার সময় এটি সরলকরণের উপযুক্ত উপায় নয়, যদিও আমি স্বীকার করি যে এটি কখনও কখনও শর্ট-কাট হিসাবে কার্যকর useful যাইহোক, গাইডগুলির সাথে সেরা (সঠিক) পদ্ধতিটি রয়েছে:


ক) পদক্ষেপ 1 - গাইডগুলি তৈরি করুন

  1. চিত্র-> গাইড-> নতুন গাইড এ যান
  2. আপনি এবং অনুভূমিক বা উল্লম্ব গাইড চান কিনা তা উল্লেখ করুন
  3. পিক্সেলের সংখ্যা উল্লেখ করুন
  4. অন্য অনুভূমিক বা উল্লম্ব গাইডের জন্য পদ্ধতিটি পুনরাবৃত্তি করুন (প্রস্থ এবং উচ্চতা নির্দিষ্ট করতে আপনি আরও গাইড করতে পারেন)

বিকল্পভাবে, আপনি শাসকদের কাছ থেকে টেনে আনতে গাইডও তৈরি করতে পারেন:

  1. আপনার পছন্দমতো Y স্থানাঙ্কের জন্য একটি গাইড টেনে আনুন (শীর্ষস্থানীয় শাসক থেকে শুরু করে) guide
  2. আপনার পছন্দমতো X স্থানাঙ্কের জন্য গাইড (বাম শাসক থেকে শুরু করে) টেনে আনুন।

খ) পদক্ষেপ 2 - ক্যানভাস সরান

আপনি চলন্ত সরঞ্জাম ব্যবহার করতে পারেন।

  1. আপনার স্তর নির্বাচন করুন
  2. সরঞ্জামগুলিতে যান -> রূপান্তর সরঞ্জাম -> সরান
  3. গাইডগুলিতে লেয়ারটি টেনে আনুন। জিম্প আপনাকে সঠিক পিক্সেল সহ একটি হাত দেবে।

ডিজাইনের নীতিগুলির মধ্যে একটি হ'ল আপনার পুরো প্রকল্পে জিনিসগুলি সারিবদ্ধ করা উচিত। প্রান্তিককরণের সংখ্যা হ্রাস (গাইড) আপনাকে একটি ক্লিনার ডিজাইন পেতে সহায়তা করে। আমি মনে করি এই কারণেই জিম্প সঠিক স্থানাঙ্ক নির্দিষ্ট করার জন্য কোনও সরঞ্জাম অন্তর্ভুক্ত করে না। আপনি যদি এই নকশার নীতিটি অনুসরণ করতে চান তবে এক এক করে সঠিক স্থানাঙ্ক নির্দিষ্ট করে কেবল ক্লান্তিকর শ্রমে পরিণত হয় becomes


ঠিক আমার যা প্রয়োজন - ধন্যবাদ। কেস ব্যবহার করুন: অন্য দুটি ওয়ালপেপার থেকে দ্বৈত-মাথা সেটআপ জন্য একটি ওয়ালপেপার তৈরি। :)
শনিবার

22
  1. বাছাই করুন এখানে চিত্র বর্ণনা লিখুন(সারিবদ্ধকরণ সরঞ্জাম)
  2. এটি তৈরি করুন Relative to Image
  3. আপনার স্তরটিতে (ক্যানভাসে) ক্লিক করুন।
  4. Offsetক্ষেত্রের মধ্যে এক্স প্রবেশ করুন ।
  5. Distribute/ এখানে চিত্র বর্ণনা লিখুন(বাম তীর) ক্লিক করুন ।
  6. Offsetমাঠে Y প্রবেশ করান ।
  7. Distribute/ এখানে চিত্র বর্ণনা লিখুন(উপরের তীর) এ ক্লিক করুন ।

এটাই!


1
নেতিবাচক অফসেটের জন্য এই কাজ।
লোডা

1
মনে রাখবেন যে দেখে মনে হচ্ছে আপনি কেবল শীর্ষ দৃশ্যমান স্তরটি নির্বাচন করতে পারেন - অর্থাৎ, সারিবদ্ধ হওয়ার জন্য স্তরের উপরে স্তরগুলি আড়াল করতে হবে (গিম্প ২.৮.১6)
স্কিপি লে গ্র্যান্ড গৌরু

এটি পিক্সেলের একক ব্যবহার করে? মনে হচ্ছে আমার চিত্রটি আমার প্রত্যাশার চেয়ে অনেক বেশি সরানো হবে।
পালসুইম

@ পালসুইম আমার পক্ষে এটি কাজ করেছিল যখন আমি নীচের গোষ্ঠীর (বিতরণ) পরিবর্তে শীর্ষ গ্রুপের বোতামগুলি (সারিবদ্ধ) ক্লিক করেছি। হ্যাঁ, এটি পিক্সেল পরিমাপ করা হয়েছে (কমপক্ষে আমার কনফিগারেশনে)।
রডরিগো

20

এটি করার জন্য একটি স্ক্রিপ্ট রয়েছে যা জিম্প প্লাগিন রেজিস্ট্রি থেকে ডাউনলোড করা যায়। এটা কে বলে:

স্তরটিতে সরান (ডাউনলোড)

স্থাপন করা:

  1. স্ক্রিপ্টটি %USERPROFILE\.gimp-2.8\scriptsউইন্ডোজ, ~/Library/Application Support/GIMP/2.8/scriptsওএস এক্স বা ~/.gimp-2.8/scriptsলিনাক্সে ডিরেক্টরিতে সরান । ( সরকারী নির্দেশাবলী )

  2. ক্লিক Filters-> Script-Fu-> Refresh scripts

  3. নতুন মেনু আইটেমটি নীচে প্রদর্শিত হবে Layerমেনু Move to


প্রথম উত্তর!
slm

প্রায় নিখুঁত! প্যারামিটার ডায়ালগটি স্তরের বর্তমান স্থানাঙ্কগুলি ডিফল্ট মান হিসাবে ব্যবহার করা ভাল।
অলিভার জিজন

4
আপনাকে সেই .scm ফাইলটি ডাউনলোড করতে হবে এবং %USERPROFILE%\.gimp-2.8\scriptsএটি উইন্ডোতে লাগাতে হবে , তারপরে Filters-> Script-Fu-> করুন Refresh Scriptsএবং এটি নীচের সর্বাধিক আইটেম হিসাবে উপলব্ধ হবে Layer->Move To
ডার্কওয়ালকার

3
ডেভিড উত্তর একটি স্ক্রিপ্ট ছাড়া কাজ করে।
মাইকেল এস।

1
নেতিবাচক অফসেট জন্য কাজ করে না। এবং ইউএক্স দরিদ্র (শেষ মান ইত্যাদি রাখবেন না)।
লোডা

11

আমি জিএমপি ২.6.১১ ব্যবহার করছি।

পাইথনের এই রেখাগুলির সাহায্যে অ্যাক্টিভ লেয়ারটি পাইথন কনসোল থেকে (32, 64) এর মতো একটি নিখুঁত অবস্থানে স্থানান্তরিত হতে পারে:

>>> x_new = 32
>>> y_new = 64
>>> img = _[0]
>>> layer = img.active_layer
>>> x_off, y_off = layer.offsets
>>> pdb.gimp_layer_translate(layer, x_new - x_off, y_new - y_off)

বিকল্পভাবে, আপনি যদি কেবল স্তরটির সামগ্রীটি স্থানান্তর করতে চান:

ডান ক্লিক করুন, স্তর> রূপান্তর> অফসেট

বা Shft + Ctrl + O


1
এটি স্তরের পরিবর্তে স্তরের মধ্যে পিক্সেলগুলি সরিয়ে নিয়ে যায় - আমাকে আসল স্তরটি সরানো দরকার। আপনার প্রস্তাবিত যা কাজ করতে পারে তা যদি স্তরটি ক্যানভাসের সমান আকারের হয় তবে কমপক্ষে স্তরের কোনও স্বচ্ছ পিক্সেল ক্লিপ না করে যথেষ্ট বড়।
স্কট

@ স্কট: আমি দেখছি - দুঃখিত আমি এর চেয়ে সহজ উপায় খুঁজে পাইনি, তবে পাইথনের কয়েকটি লাইনের সাথে স্তরটিকে কীভাবে নিখুঁত অবস্থানে নিয়ে যেতে হবে তা অন্তত আমি নির্ধারণ করেছি।
নিকোলাস কায়সার

2
আপনার কোডের তিনটি লাইন হওয়া উচিত img=gimp.image_list()[0]। _ আমার পক্ষে কাজ করে নি।
আপেল 16

3

জিম্প ভি .২.১০ থেকে এটি উপলভ্য করার জন্য খুব সুবিধাজনক উপায় রয়েছে:

  1. আপনি যে স্তরটি সরাতে চান তার উপর ডাবল ক্লিক করুন (বা এটিতে ডান ক্লিক করুন এবং "স্তর বৈশিষ্ট্য সম্পাদনা করুন" নির্বাচন করুন)

  2. "স্তর বৈশিষ্ট্য সম্পাদনা করুন" ডায়ালগটি প্রদর্শিত হবে এবং সেখানে আপনি আপনার প্রয়োজন অনুসারে এক্স / ওয়াই অফসেট পরিবর্তন করতে পারবেন

সেরকম সহজ! :)

লেয়ার এক্স / ওয়াই অফসেট বৈশিষ্ট্যগুলি সম্পাদনা করুন

সম্পাদনা করুন:

@ মিশেল আমার মন্তব্যে আমার মন্তব্যে এটি সম্পর্কে জিজ্ঞাসা করার সাথে সাথে আমি এমন একটি স্ক্রিপ্ট যুক্ত করছি যা সমস্ত চিত্রের স্তরগুলিকে নির্দিষ্ট x, y অফসেট দ্বারা সরিয়ে দেবে।

এটিকে কাজ করতে আপনাকে গিম্প স্ক্রিপ্ট ফোল্ডারে একটি ফাইল তৈরি করতে হবে ( নিম্নলিখিত বিষয়গুলির জন্য এটির জন্য কিছু রেফারেন্স: এখানেবা এখানে) নিম্নলিখিত সামগ্রী সহ:

; This script is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; This script is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.

;; Command is installed in "Layer->Move all layers..."
;;
;; The purpose of this script is to move all image layers by specified x,y offsets
;; X and Y offset parameters must be provided (use integer numbers as values)
;;


(define (dn-move-all-layers orig-image drawable
                                       x-offset y-offset)
  (define (get-all-layers img)
    (let* (
      (all-layers (gimp-image-get-layers img))
      (i (car all-layers))
      (bottom-to-top ())
     )
     (set! all-layers (cadr all-layers))
     (while (> i 0)
       (set! bottom-to-top (append bottom-to-top (cons (aref all-layers (- i 1)) '())))
       (set! i (- i 1))
     )
     bottom-to-top
    )
  )
  (define (move-layer orig-image layer-id offset-x offset-y)
    (gimp-layer-set-offsets
      layer-id
      offset-x
      offset-y
    )
  )
  (let* (
      (layers nil)
      (layerpos 1)
      (layer-id "")
      (x-os 0)
      (y-os 0)
      (orig-selection 0)
   )
   (gimp-image-undo-disable orig-image)
   (set! orig-selection (car (gimp-selection-save orig-image)))
   (gimp-selection-none orig-image)

   (set! x-os x-offset)
   (set! y-os y-offset)
   (set! layers (get-all-layers orig-image))
   (while (pair? layers)
     (move-layer orig-image (car layers) x-os y-os)
     (set! layers (cdr layers))
     (set! layerpos (+ layerpos 1))
   )
   (gimp-displays-flush)
   (gimp-selection-load orig-selection)
   (gimp-image-remove-channel orig-image orig-selection)
   (gimp-image-undo-enable orig-image)
  )
)

(script-fu-register "dn-move-all-layers"
 "Move all layers..."
 "Move each layer by specified x,y offsets."
 "danicotra"
 "danicotra"
 "08/08/2019"
 ""
 SF-IMAGE "Input image" 0
 SF-DRAWABLE "Drawable" 0
 SF-VALUE "X offset" "0"
 SF-VALUE "Y offset" "0"
)

(script-fu-menu-register "dn-move-all-layers"
                         "<Image>/Layer/")

আপনি যদি এটি ঠিক করেন তবে আপনি "লেয়ার" মেনুতে একটি নতুন কমান্ড খুঁজে পাবেন "" সমস্ত স্তর মুভ করুন ... "বলে এটি চালু করুন এবং একটি ডায়ালগ প্রদর্শিত হবে যা আপনাকে এক্স এবং ওয়াই অফসেট স্থির করতে দেয়। এটাই.


আপনার যখন প্রচুর স্তর চলতে থাকবে (শত শত হিসাবে) তখন এইটিকে কিছুটা দ্রুত করার কোনও উপায় ? এটি দুর্দান্ত হবে যদি এই জিনিসটি ডক করতে পারে তাই প্রতিটি স্তরের জন্য আমাকে এটি আনতে হবে না!
মাইকেল

1
@ মিশেল: ঠিক আছে, আমার ধারণা, আপনারও সেই ক্ষেত্রে কিছু স্ক্রিপ্টিং করা উচিত, একইভাবে নিকোলাস কায়সার সমাধানের পরামর্শ দিয়েছিলেন তবে চিত্রের স্তরগুলি লুপ করে রেখেছিলেন ... আমি কীভাবে দেখতে পারি, তা দেখানোর জন্য আমি আমার উত্তরটি সম্পাদনা করেছি। (আমি এর জন্য পৃথক উত্তর দিতাম তবে ওপি বিশেষত এক স্তরকে সরিয়ে নেওয়ার জন্য বিশেষভাবে জিজ্ঞাসা করেছিল, সেগুলি নয়। আপনি যদি এর জন্য নতুন প্রশ্ন জিজ্ঞাসা করেন তবে আমি সেখানে কিছু স্ক্রিনশট এবং বাকি সমস্ত কিছু যুক্ত করে উত্তর দিতে পেরে খুশি হব; - ডি) চিয়ার্স
ড্যানিকোট্রা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.