吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4088|回复: 86
收起左侧

[其他原创] 【添加常用模板】多种尺寸照片在一张相片纸上排成一版

  [复制链接]
yibeijiu 发表于 2025-6-6 22:07
本帖最后由 yibeijiu 于 2025-6-22 16:30 编辑

应坛友需求(如何让几张不同一寸照在一张相片纸上排成一版 - 吾爱破解 - 52pojie.cn),编写了一个将照片重新排版的工具,多种尺寸排版,导出png,pdf    先这样吧,不想弄了,

=====================================================================
test: test_imgs.rar (653.37 KB, 下载次数: 204) ,之前版本源码开放测试结束,不再提供
R4版:更新方向 R4-photo_collage_tool.rar (11.02 KB, 下载次数: 18)
R5版:添加了一些模板和编辑功能(但好像还有点问题) R5-photo_collage_tool.rar (14.42 KB, 下载次数: 163)
=====================================================================
总所周知,平时我们用软件或者网站想打印一寸照片,我们排版后是下图这个样子的,他的好处就是有很多张一样的一寸照片、但是最近学校给学生打印一张照片贴在助学金申请表上,一个人只需要一张,按照上图就会浪费。而且作为辅导员的我也承担不起这么多相片纸。所以我想有什么办法能让8个同学或者10个同学(按实际尺寸为准)合在一张相片上,用一张相片纸打印出来从而实现消耗一张相片纸,打印出好几个同学的一寸照片

照片导入:支持点击选择或拖拽上传多张照片
照片预览:界面上展示已上传照片缩略图,可设置尺寸
纸张设置;支持 A4、6寸、5寸、4寸、自定义纸张
拼图预览:右下预览拼接后的布局,支持下载高清图
打印设置:DPI 控制(150/300/600),页面边距、照片间距、背景色、边框线
模式选择:三种模式:
多人拼接、多张重复、智能混合布局
布局信息:实时显示布局行列、照片数量、空间利用率、节省成本
导出 PDF:直接生成 PDF 文件以供打印店使用(选项可开)
UI 样式:使用渐变 + 弹性布局,兼容移动端,界面美观清晰
图片上传(选择+拖拽):
[XHTML] 纯文本查看 复制代码
<label class="file-input-label">
  &#128193; 选择多张照片
  <input type="file" id="photoInput" multiple accept="image/*" style="display: none;">
</label>
[XHTML] 纯文本查看 复制代码
function initDragDrop() {
  const dropZone = document.getElementById('dropZone');
  dropZone.addEventListener('drop', handleDrop);
}
function handleDrop(e) {
  const files = e.dataTransfer.files;
  selectedFiles = Array.from(files).filter(file => file.type.startsWith('image/'));
  loadImages();
}
拼图生成:
[Asm] 纯文本查看 复制代码
function generateCollage() {
  const canvas = document.getElementById('collageCanvas');
  const ctx = canvas.getContext('2d');
  const dpi = parseInt(document.getElementById('printDPI').value);
  const borderWidth = parseInt(document.getElementById('borderWidth').value);

  // canvas大小
  const pixelWidth = paperWidth * dpi / 25.4;
  const pixelHeight = paperHeight * dpi / 25.4;
  canvas.width = pixelWidth;
  canvas.height = pixelHeight;

  // 每张照片绘制
  for (let i = 0; i < loadedImages.length; i++) {
    const img = loadedImages[i];
    const x = ...; // 根据布局计算
    const y = ...;
    ctx.drawImage(img, x, y, photoWidthPx, photoHeightPx);

    // 可选网格线
    if (document.getElementById('showGrid').checked) {
      ctx.strokeStyle = '#888';
      ctx.strokeRect(x, y, photoWidthPx, photoHeightPx);
    }
  }
}
R5版本

R5

R5
R3版本

R3

R3

R1

R1

免费评分

参与人数 14威望 +1 吾爱币 +30 热心值 +11 收起 理由
GrandfatherX + 1 + 1 大佬真性情,在这以金钱为目的的社会,无私奉献的精神很难得
苏紫方璇 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
liucongjie + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hikz + 1 谢谢@Thanks!
ytytyyt + 1 + 1 谢谢@Thanks!
xiaopang521 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
linfafa2 + 1 + 1 谢谢@Thanks!
shengruqing + 1 我很赞同!
wuloveyou + 1 + 1 我很赞同!
kingbackgo + 1 + 1 用心讨论,共获提升!
Liebesfreud + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
yanglinman + 1 谢谢@Thanks!
精妹 + 1 我很赞同!
lgc81034 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

rayzju 发表于 2025-6-7 10:33
EPSON的easy printer软件可以实现各种尺寸照片在各类纸张上的排版,可以试试
苏紫方璇 发表于 2025-6-7 15:54
请将部分关键代码插在帖子中(即使是出售附件也需要)
本版块仅限分享编程技术和源码相关内容,发布帖子必须带上关键代码和具体功能介绍

免费评分

参与人数 1吾爱币 +1 收起 理由
Laotu + 1 版主,这个源码提供结束了,附件中买了几张图片

查看全部评分

jw8519888 发表于 2025-6-7 06:03
pjpazx 发表于 2025-6-7 06:29
不错,下载试试
nfslom 发表于 2025-6-7 07:05
这个东西好,很实用啊
DrCatcher 发表于 2025-6-7 07:31
很实用啊
daoye9988 发表于 2025-6-7 08:08
可以自由排版还是方便
思念曹操 发表于 2025-6-7 08:31
不错,为楼主点赞,加币
bobo520 发表于 2025-6-7 08:59
这个不错!
gst 发表于 2025-6-7 09:40
这个不错,很棒!
Liebesfreud 发表于 2025-6-7 09:46
感谢大佬分享,很实用的工具
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-11-11 09:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表