◆- 印前综合技术讨论区 印前综合,原稿图像扫描、印前调色、翻版、电子分色、条形码等印前技术;印前机械如扫描仪、电子扫描分色机、打样机、晒版机、照排机、打印机、烤版机、印前辅助设备等。

发表新主题 关闭主题
 
只看楼主 主题工具
旧 2022-10-29, 10:59     #1
jialan75 jialan75 当前离线
java爱好者
等级: 六袋长老
级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时
 
Uid: 140648
注册日期: 2010-01-12, 13:36
来自: 余姚
年龄: 34
帖子: 1580
感谢: 267
381 个帖子获得 891 次感谢
现金: 1854金币
资产: 1954金币
声望: 11 jialan75 向着好的方向发展
jialan75 jialan75 当前离线
java爱好者
等级: 六袋长老
级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时
 
Uid: 140648
注册日期: 2010-01-12, 13:36
来自: 余姚
年龄: 34
帖子: 1580
感谢: 267
381 个帖子获得 891 次感谢
现金: 1854金币
资产: 1954金币
声望: 11 jialan75 向着好的方向发展
默认 【代码】骑马钉 根据列行页数 生成 排序规则 java版 JavaScript版 python版   



此处都有
https://blog.csdn.net/jialan75/artic...ails/127583607
下面是JavaScript部分
代码:
RULE = {
    '2x1 4': '4 1 2 3',
    '2x2 8': '1* 8* 4 5 7* 2* 6 3',
    '2x2 4': '1* 4* 2 3',
    '2x3 12': '1* 12* 4 9 5* 8* 11* 2* 10 3 7* 6*',
    '4x1 8': '4 5 8 1 2 7 6 3',
    '4x1 4': '2 3 4 1',

    '4x2 16': '1* 16* 13* 4* 8 9 12 5 3* 14* 15* 2* 6 11 10 7',
    '4x2 8': '1* 8* 7* 2* 4 5 6 3',
    '4x2 4': '2 3 4 1 2 3 4 1',

    '2x4 16': '1* 16* 4 13 5* 12* 8 9 15* 2* 14 3 11* 6* 10 7',
    '2x4 8': '1* 8* 4 5 3* 6* 2 7',
    '2x4 4': '1* 4* 1* 4* 2 3 2 3',

    '4x3 12': '7* 6* 5* 8* 10 3 4 9 11* 2* 1* 12*',
    '4x4 32': '13* 20* 21* 12* 4 29 28 5 1* 32* 25* 8* 16 17 24 9 11* 22* 19* 14* 6 27 30 3 7* 26* 31* 2* 10 23 18 15',
    '4x4 16': '5* 12* 9* 8* 4 13 16 1 3* 14* 15* 2* 6 11 10 7',
    '4x4 8': '1* 8* 5* 4* 1* 8* 5* 4* 2 7 6 3 2 7 6 3',
    '4x4 4': '1* 4* 1* 4* 1* 4* 1* 4* 2 3 2 3 2 3 2 3'
}

function saddleStitch(col, row, page_count) {
    temp_page_count = page_count
    _list = []
    //拼数
    spell = col * row * 2
    //余数
    remainder = page_count % spell
    if (spell == 12 && remainder != 0) return
    if (spell == 24 && spell % 12 != 0) return
    if (remainder != 0 && spell != 24) {
        if (spell == 4 || spell == 8 || spell == 16 || spell == 32) {
            if (remainder == 4 || remainder == 8) {
                _list.push(remainder)
            } else if (remainder == 12) {
                _list.push(4)
                _list.push(8)
            } else if (remainder == 16) {
                _list.push(16)
            } else if (remainder == 20) {
                _list.push(4)
                _list.push(16)
            } else if (remainder == 24) {
                _list.push(8)
                _list.push(16)
            } else if (remainder == 28) {
                _list.push(4)
                _list.push(8)
                _list.push(16)
            } else {
                return
            }
        } else {
            return
        }
        page_count -= remainder
    }
    if (spell == 24) {
        for (var i = 0; i < parseInt(page_count / (col * row)); i++) _list.push(row * col)
    } else {
        for (var i = 0; i < parseInt(page_count / (col * row * 2)); i++) _list.push(row * col * 2)
    }
    list_result = []
    start = 0
    for (var i = 0; i < _list.length; i++) {
        len = _list[i] / 2
        before_start = parseInt(start + 1)
        before_end = parseInt(start + len)
        before = before_start + '-' + before_end

        after_start = parseInt(temp_page_count - start - len + 1)
        after_end = parseInt(temp_page_count - start)
        after = after_start + "-" + after_end
        start += len
        key = col + "x" + row + " " + _list[i]
        print_model = _list[i] == spell ? '正反' : '自翻'
        key_rule = i + "-" + print_model + "-" + col + "x" + row + " " + _list[i] + ' ' + before + " " + after
        s = RULE[key]

        if (s == undefined) return

        value = ''
        for (var j = 0; j < s.split(' ').length; j++) {
            item = s.split(' ')[j]
            page = parseInt(item.replace("*", ''))
            xx = item.indexOf("*") == -1 ? '' : '*'

            if (page > len) {
                value += parseInt(after_end - len * 2 + page) + xx + '>'
            } else {
                value += parseInt(before_start - 1 + page) + xx + '>'
            }
        }
        list_result.push(key_rule + ' ' + value)
    }
    return list_result

}

function getRule(col, row, page_count) {
    list_result = saddleStitch(col, row, page_count);
    if (list_result != undefined && list_result.length > 0) {
        value = ''
        for (var i = 0; i < list_result.length; i++) {
            item = list_result[i];
            arr = item.split(/ |x|-/);
            value += arr[arr.length - 1].replace(/>/g, " ")
        }
        return value
    }
}

col = 2
row = 2
page_count = 44
list_result = saddleStitch(col, row, page_count)
alert(list_result)
rule = getRule(col, row, page_count)
alert(rule)
代码中定义的一个 RULE常量是根据个人经验所定。不一定正确,或者合理,请根据自己的实际情况 添加或者修正
上传的图像
文件类型: png 77bed2d220e24747ac4beeb376c81deb.png (57.9 KB, 8 次查看)
jialan75 当前离线  
右列会员因为此帖价值甚高向 jialan75 表示感谢:
zcl119 (2023-05-15)
旧 2022-10-29, 11:05   只看该作者   #2
jialan75 jialan75 当前离线
java爱好者
等级: 六袋长老
级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时
 
Uid: 140648
注册日期: 2010-01-12, 13:36
来自: 余姚
年龄: 34
帖子: 1580
感谢: 267
381 个帖子获得 891 次感谢
现金: 1854金币
资产: 1954金币
声望: 11 jialan75 向着好的方向发展
jialan75 jialan75 当前离线
java爱好者
等级: 六袋长老
级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时级别:85 | 在线时长:7735小时 | 升级还需:5小时
 
Uid: 140648
注册日期: 2010-01-12, 13:36
来自: 余姚
年龄: 34
帖子: 1580
感谢: 267
381 个帖子获得 891 次感谢
现金: 1854金币
资产: 1954金币
声望: 11 jialan75 向着好的方向发展
默认

下面是根据 上述代码 的实际应用。
quicker地址:
https://getquicker.net/Sharedaction?...f-08dab0af50de
上传的图像
文件类型: png QQ截图20221029110448.png (24.6 KB, 2 次查看)
上传的附件
文件类型: mp4 kk 2022-10-29 11-01-51.mp4 (3.55 MB, 38 次查看)
文件类型: rar 结果.rar (31.4 KB, 2 次查看)
文件类型: rar 输入.rar (738.8 KB, 2 次查看)
jialan75 当前离线  
旧 2022-10-29, 11:11   只看该作者   #3
姜椒蒜 姜椒蒜 当前在线
中级会员
等级: 七袋长老
级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时
 
Uid: 699927
注册日期: 2020-12-20, 15:13
帖子: 3686
感谢: 658
337 个帖子获得 402 次感谢
现金: 31金币
资产: 7231金币
声望: 10 姜椒蒜 向着好的方向发展
姜椒蒜 姜椒蒜 当前在线
中级会员
等级: 七袋长老
级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时级别:83 | 在线时长:7337小时 | 升级还需:55小时
 
Uid: 699927
注册日期: 2020-12-20, 15:13
帖子: 3686
感谢: 658
337 个帖子获得 402 次感谢
现金: 31金币
资产: 7231金币
声望: 10 姜椒蒜 向着好的方向发展
默认

引用:
作者: jialan75 查看帖子
下面是根据 上述代码 的实际应用。
quicker地址:
https://getquicker.net/Sharedaction?...f-08dab0af50de
这样拼好的尺寸全部都是一样的了吧…
姜椒蒜 当前在线  
发表新主题 关闭主题


发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子

论坛启用 vB 代码
论坛启用 表情图标
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


律师声明:本站内容,均具有版权,未经书面授权,禁止转载,严禁镜像,违者承担一切后果!
论坛广告报价   广告联系及办理企业会员服务QQ:57880388 站务管理QQ:35529388


所有时间均为 +8, 现在的时间是 2025-01-04 10:07.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
 
Copyright © 2004-2022