Java图片处理问题
请问大佬们如何改变图片的大小,不是分辩率的大小,而是存储大小,比如我想让一张图片变为15Kb,请问怎么做到 创建文件空洞。#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
int main()
{
char *pathname = "./test.data";
long long length = (long long)1024 * 1024 * 1024; //1GB
//创建文件
int fd = open(pathname, O_RDWR | O_CREAT | O_EXCL, 0777);
if (-1 == fd) {
perror("create file fail");
return -1;
} else {
printf("create file success\n");
}
long long ret = lseek(fd, length, SEEK_END);
if (-1 == ret) {
perror("lseek file fail");
return -1;
}
write(fd, "0", 1);
close(fd);
return 0;
} 应该要用到压缩算法吧。 smdzj 发表于 2021-2-7 16:49
应该要用到压缩算法吧。
不是变小,是变大,假如一张图片小于15Kb怎么把他变成15Kb以上 你这需求有点奇怪的 Copy 002.jpg/b + 001.txt/a 003.jpg
把这个命令复制到记事本 后缀名改成.bat
然后修改002.jpg001.txt 003.jpg这三个名字
依次作用是
被修改的图片
被合并的文件
生成的文件名 有一个网站可以放大图片的 提供个思路吧,应该是可以的,图片实际是存储的像素数据,把小图片拉伸,把每个像素扩大,然后变成原来的一个像素用新图片的N个像素表示(看起来图片清晰度就非常差了),再重新存储,图片就变大了,但实际显示效果并不好 如果是bmp格式,就简单多了
页:
[1]