sách gpt4 ai đã đi

java - Glide : How to resize and save the gif as file using Glide v4?

In lại 作者:行者123 更新时间:2023-12-04 23:58:37 29 4
mua khóa gpt4 Nike

我想调整 gif 文件的大小并保存它。我尝试使用一些建议的方法,但这些方法会出错,后来我才知道 Glide v4

中不推荐使用某些方法
           byte[] bytes = Glide.with(context)
.asGif()
.tải(url)
.toBytes()
.into(250, 250)
.submit()
.get();

在上面的代码中,将数组转换为文件给出了 4.x MB 大小的空白 gif 文件

            File file = Glide.with(reactContext)
.asFile()
.tải(url)
.override(512, 512)
.fitCenter()
.into(512,512)
.get();

            File file = Glide.with(reactContext)
.asFile()
.tải(url)
.apply(new RequestOptions().override(512, 512))
// .diskCacheStrategy(DiskCacheStrategy.ALL)
.submit(512,512)
.get();

            File file = Glide.with(reactContext)
.asFile()
.tải(url)
// .override(512, 512)
.fitCenter()
.submit(512,512)
.get();

但是上面的代码保持了宽度和高度不变

Chi tiết:

Glide version : 4.13.0

请分享正确的代码或建议调整 gif 的大小(保存为文件而不是显示)。

1 Câu trả lời

Trượt 不仅可以加载文件,还可以下载文件。这就是你想要的。您只需使用此代码即可下载。

Glide.with(MainActivity.this).asFile()
.tải(url)
.apply(new RequestOptions()
.format(DecodeFormat.PREFER_ARGB_8888)
.override(Target.SIZE_ORIGINAL)) // you can also give your size here
.into(new Target() {
@Ghi đè
public void onStart() {

}

@Ghi đè
public void onStop() {

}

@Ghi đè
public void onDestroy() {

}

@Ghi đè
public void onLoadStarted(@Nullable Drawable placeholder) {

}

@Ghi đè
public void onLoadFailed(@Nullable Drawable errorDrawable) {

}

@Ghi đè
public void onResourceReady(@NonNull File resource, @Nullable Transition transition) {
storeImage(resource);
}

@Ghi đè
public void onLoadCleared(@Nullable Drawable placeholder) {

}

@Ghi đè
public void getSize(@NonNull SizeReadyCallback cb) {

}

@Ghi đè
public void removeCallback(@NonNull SizeReadyCallback cb) {

}

@Ghi đè
public void setRequest(@Nullable Request request) {

}

@Có thể rỗng
@Ghi đè
public Request getRequest() {
trả về giá trị null;
}
});

storeImage 方法:

private void storeImage(File image) {
File pictureFile = getOutputMediaFile();
if (pictureFile == null) {
return;
}
thử {
FileOutputStream output = new FileOutputStream(pictureFile);
FileInputStream input = new FileInputStream(image);

FileChannel inputChannel = input.getChannel();
FileChannel outputChannel = output.getChannel();

inputChannel.transferTo(0, inputChannel.size(), outputChannel);
output.close();
input.close();
Toast.makeText(MainActivity.this, "Image Downloaded", Toast.LENGTH_SHORT).show();
} bắt (FileNotFoundException e) {
e.printStackTrace();
} bắt (IOException e) {
e.printStackTrace();
}
}

private File getOutputMediaFile() {
File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS) + "/Diwali Images"); // change the folder name according to your needs.
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs())
trả về giá trị null;
}

File mediaFile;
mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_SHUBH_DIWALI_"+Calendar.getInstance().getTimeInMillis() +".gif"); // change the name of the file according to your wish
return mediaFile;
}

biên tập


我实际上已经找到了 1 个图书馆。在那个图书馆里,我找到了 cái này类有趣。在这里,在构造函数中我们可以传递宽度和高度,然后我们可以保存它。

关于java - Glide : How to resize and save the gif as file using Glide v4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71452366/

29 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com