Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
276 changes: 189 additions & 87 deletions package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
"gifuct-js": "^2.1.2",
"hls.js": "^1.6.15",
"jsonpath-plus": "^10.3.0",
"jspdf": "^4.0.0",
"jspdf": "^4.2.0",
"jsqr": "^1.4.0",
"jszip": "^3.10.1",
"lucide-react": "^0.562.0",
Expand Down
412 changes: 169 additions & 243 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions pnpm-workspace.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
onlyBuiltDependencies:
- better-sqlite3
15 changes: 15 additions & 0 deletions src/i18n/en-US.ts
Original file line number Diff line number Diff line change
Expand Up @@ -776,6 +776,21 @@ export default {
"tools.imageWatermark.name": "Image Watermark",
"tools.imageWatermark.description": "Add text or image watermarks to images.",
"tools.imageToGifConverter.name": "Image to GIF Converter",
"tools.imageToGifConverter.description":
"Convert multiple images into a single animated GIF.",

"tools.imageBase64Converter.name": "Image Base64 Converter",
"tools.imageBase64Converter.description": "Convert images to base64 strings and vice versa.",
"tools.imageBase64Converter.mode.imageToBase64": "Image to Base64",
"tools.imageBase64Converter.mode.base64ToImage": "Base64 to Image",
"tools.imageBase64Converter.inputTitle": "Input",
"tools.imageBase64Converter.outputTitle": "Output",
"tools.imageBase64Converter.uploadText": "Click or drag image to this area to upload",
"tools.imageBase64Converter.uploadHint": "Support image files only",
"tools.imageBase64Converter.noResults": "Output will appear here",
"tools.imageBase64Converter.base64Placeholder": "Paste your Base64 string here...",
"tools.imageBase64Converter.withPrefix": "Data URI Prefix",
"tools.imageBase64Converter.preview": "Preview Image",

"tools.qrCodeTool.generate": "Generate",
"tools.qrCodeTool.recognize": "Recognize",
Expand Down
14 changes: 14 additions & 0 deletions src/i18n/zh-CN.ts
Original file line number Diff line number Diff line change
Expand Up @@ -735,6 +735,20 @@ export default {
"tools.imageWatermark.name": "图片水印",
"tools.imageWatermark.description": "为图片添加文本或图片水印。",
"tools.imageToGifConverter.name": "图片转GIF",
"tools.imageToGifConverter.description": "将多张图片合成为一个动态 GIF 文件。",

"tools.imageBase64Converter.name": "图片 Base64 转换",
"tools.imageBase64Converter.description": "实现图片与 Base64 字符串之间的相互转换。",
"tools.imageBase64Converter.mode.imageToBase64": "图片转 Base64",
"tools.imageBase64Converter.mode.base64ToImage": "Base64 转图片",
"tools.imageBase64Converter.inputTitle": "输入",
"tools.imageBase64Converter.outputTitle": "输出",
"tools.imageBase64Converter.uploadText": "点击或拖拽图片到此区域上传",
"tools.imageBase64Converter.uploadHint": "仅支持图片文件",
"tools.imageBase64Converter.noResults": "结果将显示在此处",
"tools.imageBase64Converter.base64Placeholder": "在此粘贴 Base64 字符串...",
"tools.imageBase64Converter.withPrefix": "数据 URI 前缀",
"tools.imageBase64Converter.preview": "预览图片",

"tools.qrCodeTool.generate": "生成",
"tools.qrCodeTool.recognize": "识别",
Expand Down
335 changes: 335 additions & 0 deletions src/pages/tools/Media/ImageBase64Converter.tsx

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions src/pages/tools/Media/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,15 @@ const tools: ToolConfig[] = [
category: 'Media',
component: React.lazy(() => import('./UniversalVideoPlayer')),
path: '/media/universal-video-player',
},
{
id: 'imageBase64Converter',
name: 'Image Base64 Converter',
description: 'Convert images to base64 strings and vice versa',
icon: <FileImageOutlined />,
category: 'Media',
component: React.lazy(() => import('./ImageBase64Converter')),
path: '/media/image-base64-converter',
}
];

Expand Down