Trang 1 / 2 12 Cuối cùngCuối cùng
Hiển thị kết quả từ 1 đến 10 / 12

Chủ đề: Cách đặt các tham số khi tạo action trong Photoshop ???

  1. #1
    Các bác cho em hỏi cách đặt tham số vào action cho Photoshop:

    Để làm rõ em đưa ra bài toán cụ thể thế này:

    Em muốn tạo 1 action để tự động chèn chữ ký vào góc ảnh. Cái khó là mỗi ảnh lại có kích thước khác nhau. Chữ ký của em được lưu riêng ra 1 file rồi, Em cần:

    1. Scale chữ kỹ đó về 5% chiều rộng của file ảnh đích mà em muốn chèn.
    2. Chèn chữ ký đó vào góc phải phía dưới file ảnh (tọa độ góc phải phía dưới là (X,Y) với X,Y tùy kích thước ảnh, đại loại là cách mép dưới 1 tí)

    Như vậy để làm 2 thao tác trên thì cần chèn tham số 5% và tham số tọa độ (khó vì các tham số này phải tính toán theo file ảnh đích có kích thước không cố định)

    Bác nào biết cách làm giúp em nhé, hoặc có giải pháp nào khác không ạ

    Thank các bác
    Được sửa bởi flyaway lúc 03:15 PM ngày 28-07-2015

  2. #2
    Tham gia
    05-12-2007
    Location
    yenbai
    Bài viết
    40
    em nghĩ điều này là ko thể

  3. #3
    Tham gia
    23-07-2006
    Bài viết
    504
    Đại khái thế này : mở file chữ ký ra , chạy Action (action này hoạt động như sau : chọn file chữ ký , copy , paste vào file hình , lúc này chữ ký sẽ nằm ở giữa hình , tiếp theo là Transfrom chữ ký vào góc hình , transfrom một lần nữa để di chuyển chữ ký lên trên 1 khoảng và dịch sang ngang một khoảng theo ý muốn ). Muốn di chuyển chữ ký về góc hình hoặc di chuyển một khoảng cách theo ý muốn thì phải thay đổi các thông số cho phù hợp.

  4. #4
    Tham gia
    15-05-2007
    Location
    VN
    Bài viết
    66

    Cool

    Xin phép góp thêm, trước hết bạn cần biết rõ là bao nhiếu kích thước mà bạn cần làm, ví dụ bạn sử dụng cho hay khổ 10x15 và 13x18 thì bạn phải làm hai action cho hai khổ này mỗi action khác nhau một tí, vì action chỉ thực hiện tự động một cách máy móc theo kích thước file lúc đầu mình tạo chứ nó không áp dụng được cho các kích thước khác nhau. lấy ví dụ cho hình 10x15 thì điều đầu tiên là bạn phải cắt hết những hình cần làm thành 10x15 hết để cho các file nó cùng chung một kích thước và độ phân giải sau đó mới đến bước bạn làm và lưu action lại cho ảnh đầu tiên sau đó chỉ việc chạy action cho những hình còn lại vì đã cùng chung kích thước nên nó sẻ chạy theo đúng với file lúc đầu bạn tạo thôi, đối với những kích thước khác cũng như vậy. Chúc bạn thành công!
    Được sửa bởi chughe lúc 10:02 PM ngày 28-07-2008

  5. #5
    Tham gia
    23-07-2006
    Bài viết
    504
    Nếu mình chỉ cần chữ ký cách biên tấm hình 1 khoảng cách như nhau cho các khổ hình khác nhau thì chỉ cần làm 1 action thôi là đủ .

  6. #6
    Tham gia
    09-03-2005
    Location
    San Jose, California
    Bài viết
    4,061
    Các thành viên mới bây giờ làm biếng tìm kiếm quá. "Ngày xưa" mình có viết 2 bài hướng dẫn đúng mấy việc bạn cần:

    1. Tạo PS action: http://vnphoto.net/forums/showthread.php?t=7711
    2. Đổi kích thước ảnh hàng loạt: http://vnphoto.net/forums/showthread.php?t=95
    "Live Simply, Love Generously, Care Deeply, Speak Kindly"

  7. #7
    @TheAmateur: Bác chắc chỉ đọc lướt post của em nên không hiểu được vấn đề em đang nói ạ.

    @1045: Em cũng đã làm kiểu bác nhưng làm như vậy em thấy là chỉ đúng với các file có chung kích thước.

    @chughe: Em cũng hiểu là như vậy nhưng muốn post lên để xem biết đâu bác nào có cao kiến hoặc có mẹo gì giải quyết được.

    Cám ơn các bác nhiều
    Được sửa bởi flyaway lúc 03:14 PM ngày 28-07-2015

  8. #8
    Tham gia
    09-03-2005
    Location
    San Jose, California
    Bài viết
    4,061
    flyaway, cách đơn giản nhất là có nhiều action cho ảnh đứng và ngang và các cỡ khác nhau. Theo tôi thì anh chỉ cần 1 set (đứng/ngang) cho web; 1 set (đứng/ngang) cho in... in cũng không mấy nhiều size đâu nhỉ?
    Cách nữa thì phải dùng javascript, VBscript và Visual Basic để code ... bác có phải dân programmer, muốn tìm hiểu cách code không?
    Được sửa bởi TheAmateur lúc 07:35 AM ngày 29-07-2008
    "Live Simply, Love Generously, Care Deeply, Speak Kindly"

  9. #9
    Tham gia
    23-07-2006
    Bài viết
    504
    Quote Được gửi bởi flyaway View Post
    @TheAmateur: Bác chắc chỉ đọc lướt post của em nên không hiểu được vấn đề em đang nói ạ.

    @1045: Em cũng đã làm kiểu bác nhưng làm như vậy em thấy là chỉ đúng với các file có chung kích thước.
    Bạn tìm hiểu thêm về transfrom thì sẽ làm được như tôi nói , không phụ thuộc vào khích thước file hoặc chiều đứng hay ngang của file.

  10. #10
    Tham gia
    09-10-2006
    Bài viết
    287
    Em nghĩ cách này đúng ý bác: bác dùng script file.

    Bác modify theo ý của bác, rồi save mấy cái text ở dưới thành file "XXX. jsx" và copy vào thư mục này: C:\Program Files\Adobe\Adobe Photoshop CS3\Presets\Scripts\

    Khởi động lại PS. Vào File-> scripts-> XXX để chạy.


    PS: em copy trên mạng nhưng làm biến tìm link lại nên copy nguyên con lại luôn!

    ------------------------------------
    // Add Signature.jsx
    // Version 1.0
    // Shaun Ivory (shaun@ivory.org)
    //
    // Feel free to modify this script. If you do anything interesting with it,
    // please let me know.

    //************************************************** **********************
    //
    // Constants. Change these if you want to.
    //
    //************************************************** **********************

    // Where to find the signature file
    var c_strSignatureFile = "~/Desktop/signature.psd";

    // Height of the signature, as a percentage of the height or width of the longest axis.
    var c_nSignatureHeightPercent = 3;

    // How big should the margin be?
    var c_nLeftMarginAsPercentOfImage = 1;
    var c_nBottomMarginAsPercentOfImage = 1;

    //************************************************** **********************
    //
    // Actual script.
    //
    //************************************************** **********************

    function Main()
    {
    // Turn off dialog boxes
    displayDialogs = DialogModes.NO;

    // Save the ruler units and set them to pixels
    var oldRulerUnits = preferences.rulerUnits;
    preferences.rulerUnits = Units.PIXELS;

    try
    {
    if (app.documents.length > 0)
    {
    // Save the original document
    docOriginal = activeDocument;

    // Open the signature file
    var fileUrlShortcut = new File(c_strSignatureFile);
    var docSignature = open(fileUrlShortcut);

    // Scale the height of the signature to a percentage of the long axis of the original document
    var nLongAxis = (docOriginal.width.value > docOriginal.height.value) ? docOriginal.width.value : docOriginal.height.value;
    var nSignatureHeight = (nLongAxis * c_nSignatureHeightPercent) / 100;
    var nSignatureWidth = (nSignatureHeight * docSignature.width.value) / docSignature.height.value;

    // Scale the margins as a percentage of the long axis of the image
    var nLeftMargin = (nLongAxis * c_nLeftMarginAsPercentOfImage) / 100;
    var nBottomMargin = (nLongAxis * c_nBottomMarginAsPercentOfImage) / 100;

    // Resize the watermark image
    docSignature.resizeImage(nSignatureWidth, nSignatureHeight, docSignature.resolution, ResampleMethod.BICUBIC);

    // Select and copy the signature
    docSignature.selection.selectAll();
    docSignature.selection.copy();

    // Activate the original document
    activeDocument = docOriginal;

    // Paste the image from the clipboard. We are going to remove this one,
    // because we are only using it to find the *actual* size of the pasted
    // image. It might not be the same size as the scaled document, because
    // photoshop doesn't count areas that have no pixels.
    var newLayer = docOriginal.paste();

    // Get the width and height of the actual pasted image
    var nActualSelectionWidth = newLayer.bounds[2] - newLayer.bounds[0];
    var nActualSelectionHeight = newLayer.bounds[3] - newLayer.bounds[1];

    // Remove this layer.
    newLayer.remove();

    // Create a selection rectangle
    var selection = Array(
    Array(nLeftMargin, parseInt(docOriginal.height.value) - parseInt(nActualSelectionHeight) - nBottomMargin),
    Array(nLeftMargin + nActualSelectionWidth, parseInt(docOriginal.height.value) - parseInt(nActualSelectionHeight) - nBottomMargin),
    Array(nLeftMargin + nActualSelectionWidth, parseInt(docOriginal.height.value) - nBottomMargin),
    Array(nLeftMargin, parseInt(docOriginal.height.value) - nBottomMargin),
    Array(nLeftMargin, parseInt(docOriginal.height.value) - parseInt(nActualSelectionHeight) - nBottomMargin));
    docOriginal.selection.select(selection);

    // Paste into the selection
    newLayer = docOriginal.paste(true);

    // Close the signature
    docSignature.close(SaveOptions.DONOTSAVECHANGES);
    }
    else
    {
    alert("You don't have an image opened. Please open an image before running this script.");
    }
    }
    catch (e)
    {
    alert(e);
    }

    // Restore the ruler units
    preferences.rulerUnits = oldRulerUnits;
    }

    Main();

Trang 1 / 2 12 Cuối cùngCuối cùng

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Những chủ đề tương tự

  1. Thâu lại action bằng Photoshop
    By TheAmateur in forum Kỹ thuật Hậu kỳ - Studio - Phòng tối
    Trả lời: 34
    Bài viết cuối: 23-06-2013, 09:22 AM
  2. Kho Photoshop action --> retouch
    By Crazy Shot in forum Kỹ thuật Hậu kỳ - Studio - Phòng tối
    Trả lời: 248
    Bài viết cuối: 05-03-2013, 08:57 PM
  3. Ai CÓ Action ChỈnh MÀu Trong Pts ??
    By gakon888 in forum Kỹ thuật Hậu kỳ - Studio - Phòng tối
    Trả lời: 3
    Bài viết cuối: 29-07-2009, 12:52 AM
  4. Nhờ hướng dẫn sử dụng Action và templates trong Photoshop
    By atuk in forum Kỹ thuật Hậu kỳ - Studio - Phòng tối
    Trả lời: 0
    Bài viết cuối: 11-02-2009, 04:08 PM
  5. Những gì mới lạ trong Photoshop CS4 .
    By ttl in forum Kỹ thuật Hậu kỳ - Studio - Phòng tối
    Trả lời: 0
    Bài viết cuối: 31-10-2008, 07:42 AM

Quy định

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •