Illustrator�_���_�l(f��)�ɰ憖�}
�l(f��)���r�g:2024-11-08 11:52 [ ��Ҫ�ԌW(xu��)�W(w��ng)ԭ��(chu��ng) ] �l(f��)����: �옷СŮ ��x: 429

// ----�@ȡλ��/������Ϣ
var el = app.activeDocument.selection[0]

alert(getRealySize(el))

// ��һ�N
// alert(el.top)
// alert(el.left)
// alert(el.width)
// alert(el.height)

// �ڶ��N
// alert(el.visibleBounds) // ��Ҋ����(������߅��)


// �����N
// alert(el.geometricBounds) // �׺η���(��������߅)


// ----�@ȡλ��/������Ϣ

function getRealySize(el) {
    var arr = []

    var leftArr = []
    var topArr = []
    var rightArr = []
    var bottomArr = []

    function getRealySizeEl(el, arr) {
        // ����Ǽ��нM, ���ɰ�·�������Mȥ
        if (el.clipped) {
            arr.push({
                el: el.pageItems[0],
                isClippedPath: true
            })
            return
        }

        // ������Ǽ��нM, ��������������һ���M, �f���M��������м��нM
        if (el.constructor.name == "GroupItem") {
            for (var i = 0; i < el.pageItems.length; i++) {
                getRealySizeEl(el.pageItems[i], arr)
            }
            return
        }

        // ������Ǽ��нM, �����������Mȥ
        arr.push({
            el: el,
            isClippedPath: false
        })
    }

    function minInArr(arr) {
        var min = arr[0];
        for (var i = 1; i < arr.length; i++) {
            if (arr[i] < min) {
                min = arr[i];
            }
        }
        return min;
    }

    function maxInArr(arr) {
        var max = arr[0];
        for (var i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
            }
        }
        return max;
    }

    getRealySizeEl(el, arr)

    for (var i = 0; i < arr.length; i++) {
        if (i.isClippedPath) {
            // ����Ǽ����ɰ�, �@ȡ������߅��߅��
            leftArr.push(arr[i].el.geometricBounds[0])
            topArr.push(arr[i].el.geometricBounds[1])
            rightArr.push(arr[i].el.geometricBounds[2])
            bottomArr.push(arr[i].el.geometricBounds[3])
        } else {
            // ������Ǽ����ɰ�, �@ȡ����߅��߅��
            leftArr.push(arr[i].el.visibleBounds[0])
            topArr.push(arr[i].el.visibleBounds[1])
            rightArr.push(arr[i].el.visibleBounds[2])
            bottomArr.push(arr[i].el.visibleBounds[3])
        }
    }

    var left = minInArr(leftArr)
    var top = maxInArr(topArr)
    var right = maxInArr(rightArr)
    var bottom = minInArr(bottomArr)

    return [left, top, right, bottom]
}

Illustrator�_���_�l(f��)�̳�
��Ҫ�ԌW(xu��)�W(w��ng)�̳� ��70 Ԫ
�M��ُ�I
�����uՓ
���ӱ���
�������A���񹲺͇��ĸ�헵��·�Ҏ(gu��)��
�Г�(d��n)�������О����(d��o)�µķ���؟(z��)����
��վ�Й�(qu��n)������h���Р��h�uՓ��
���c���uՓ���������ѽ�(j��ng)��x������
�����l����
V
�ػݳ�ֵ
“(li��n)ϵ�ͷ�
APP���d
�ٷ�΢��
����픲�
����x��:
��X�k�� ƽ���O(sh��)Ӌ �҃�(n��i)�O(sh��)Ӌ �����O(sh��)Ӌ �Cе�O(sh��)Ӌ ���I(y��)�Ԅӻ� Ӱҕ�Ӯ� �����_�l(f��) �W(w��ng)��O(sh��)Ӌ ��Ӌ�n�� �dȤ���L AIGC