SpeII 发表于 2021-2-7 16:32

Java图片处理问题

请问大佬们如何改变图片的大小,不是分辩率的大小,而是存储大小,比如我想让一张图片变为15Kb,请问怎么做到

c03xp 发表于 2021-2-7 16:32

创建文件空洞。
#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

应该要用到压缩算法吧。

SpeII 发表于 2021-2-7 16:57

smdzj 发表于 2021-2-7 16:49
应该要用到压缩算法吧。

不是变小,是变大,假如一张图片小于15Kb怎么把他变成15Kb以上

VioletKiss 发表于 2021-2-7 17:05

你这需求有点奇怪的

默默看着你 发表于 2021-2-7 17:29

狒狒大魔王 发表于 2021-2-7 17:52

Copy 002.jpg/b + 001.txt/a 003.jpg
把这个命令复制到记事本   后缀名改成.bat
然后修改002.jpg001.txt 003.jpg这三个名字
依次作用是
被修改的图片
被合并的文件
生成的文件名

Light紫星 发表于 2021-2-7 18:28

有一个网站可以放大图片的

WGHF6E5YTW9EK6V 发表于 2021-2-7 18:46

提供个思路吧,应该是可以的,图片实际是存储的像素数据,把小图片拉伸,把每个像素扩大,然后变成原来的一个像素用新图片的N个像素表示(看起来图片清晰度就非常差了),再重新存储,图片就变大了,但实际显示效果并不好

c03xp 发表于 2021-2-8 09:39

如果是bmp格式,就简单多了
页: [1]
查看完整版本: Java图片处理问题