我正在使用以下站点中的压缩类:http://voidcanvas.com/whatsapp-like-image-compression-in-android/
这是我的压缩类,对原始类进行了很少的修改:
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.media.ExifInterface;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import timber.log.Timber;
//http://voidcanvas.com/whatsapp-like-image-compression-in-android/
public class ImageCompressor {
public ImageCompressor() {}
public static String compressImage(String imagePath, Context context) {
Bitmap scaledBitmap = null;
String filename = "compressed_" +imagePath.substring(imagePath.lastIndexOf("/")+1);
BitmapFactory.Options options = new BitmapFactory.Options();
// by setting this field as true, the actual bitmap pixels are not loaded in the memory. Just the bounds are loaded. If
// you …Run Code Online (Sandbox Code Playgroud) 我正在尝试压缩图像,然后上传到Firebase Storage使用SiliCompressor库,但它似乎无法正常工作,ProgressDialog不会停止.我首先要做的是通过单击ImageButton从图库中选择图像到ImageButton.以下是我的代码.
imageSelect.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent galleryIntent = new Intent(Intent.ACTION_GET_CONTENT);
galleryIntent.setType("image/");
startActivityForResult(galleryIntent, GALLERY_REQUEST);
}
});
---------------------------------------------------------------------
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == GALLERY_REQUEST && resultCode == RESULT_OK) {
imageUri = data.getData();
// imageSelect.setImageBitmap(BitmapFactory.decodeFile(imageSelectFile.getAbsolutePath()));
// Compressor com = Compressor.getDefault(this).compressToFile(imageFile);
// imageSelect.setImageURI(imageUri);
Picasso.with(c).load(imageUri).fit().into(imageSelect);
}
}
Run Code Online (Sandbox Code Playgroud)
所以我现在有一个startPosting()上传数据的方法点击按钮到Firebase存储.以下是我的代码.
private void startPosting() {
mProgress.setMessage("Uploading Image...");
//Compressing an Image ....
String stringUri= …Run Code Online (Sandbox Code Playgroud) 例如,我有这样的代码:
<style>
body {
background: url('back.png') repeat-y center;
}
</style>
<body>
</body>
Run Code Online (Sandbox Code Playgroud)
它适用于所有浏览器,包括Opera.看起来像这样:

但是如果打开Opera Turbo模式,它看起来像这样:

为什么这样,可以修复吗?Ubuntu 10.10上的PS Opera 11.10
browser opera image-conversion image-compression opera-turbo
我正在使用UIQt项目并保存图像文件QML。以下是我所做的
auto screenshot = quick_item->grabToImage();
screenshot->saveToFile("/somepath/filename.jpeg");
// OR sometimes use like png like
screenshot->saveToFile("/somepath/filename.png");
Run Code Online (Sandbox Code Playgroud)
这在所有平台上都表现得非常好。我打开文件,图像按预期保存。
现在我的问题是:
我刚刚提到.jpeg作为文件扩展名,同时将文件名作为参数提供到saveToFile. 这可行,但是,我是否需要使用它QImageWriter来确保图像实际上以jpeg/png格式压缩?
当它是有损压缩时会发生什么jpeg?
如果我想在android中控制有损压缩,我可以做一个,image.compress(CompressFormat.JPEG, 80, stream)其中80是压缩质量的百分比?
我正在编写一个脚本,用于调整和优化要在网站上使用的图像(在本例中为 Iphone 图片)。到目前为止,我编写了这个简单的脚本,它使文件大小减少了大约 35%,但我希望我可以进一步缩小文件大小。有没有办法进一步优化这个脚本?任何帮助深表感谢!
from PIL import Image
img = Image.open('file location')
newImage = img.resize((1024, 768), Image.ANTIALIAS)
newImage.save('new file location', optimize=True, quality=95)
newImage.show()
Run Code Online (Sandbox Code Playgroud) python optimization image image-compression python-imaging-library
我正在尝试使用quality=90OpenCV 的参数比较压缩前后的一堆图像的大小。但是在压缩之前,我想将它们全部裁剪为固定大小。但是,我不明白,为什么裁剪后的图像平均尺寸小于裁剪+压缩后的图像尺寸?
这是我在做什么:
import cv2
import PIL
from pathlib import Path
image_paths = [...]
cropped_imgs_size = 0
compressed_imgs_size = 0
# crop images
for orig_img_path in image_paths:
cropped_img_path = "cropped_" + orig_img_path
PIL.Image.open(orig_img_path).crop((0,0,256,256)).convert('RGB').save(cropped_img_path)
cropped_imgs_size += Path(cropped_img_path).stat().st_size
# compress cropped image
dest_path = "q90_" + cropped_img_path
cv2.imwrite(dest_path, cv2.imread(cropped_img_path), [int(cv2.IMWRITE_JPEG_QUALITY), 90])
compressed_imgs_size += Path(dest_path).stat().st_size
Run Code Online (Sandbox Code Playgroud)
compressed_imgs_size < copped_imgs_sizecompressed_imgs_size > copped_imgs_size我想念什么?
我发现了很多关于该主题的问题,但没有一个有完整的工作示例。
我的情况很简单:
我当前的代码(未压缩):
分段:
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {
RC_PICK_IMAGE ->
if (resultCode == Activity.RESULT_OK)
data?.data?.let { viewModel.updateUserPicture(it) }
}
}
Run Code Online (Sandbox Code Playgroud)
视图模型:
fun updatePhotoUrl(photoUrl: Uri?): Task<Void> =
Storage.uploadFile("/$PS_USERS/$uid", photoUrl)
.continueWithTask { ... }
Run Code Online (Sandbox Code Playgroud)
存储:(包装 Firebase 交互的对象)
fun uploadFile(path: String, uri: Uri): Task<Uri> {
val imageRef = storageRef.child(path)
val uploadTask = imageRef.putFile(uri)
// Return the task getting the download URL
return uploadTask.continueWithTask { task ->
if …Run Code Online (Sandbox Code Playgroud) Jpeg2000 图像压缩使用哪个小波?
\n\n我正在阅读《小波变换》一书,以了解小波如何用于图像压缩,但是书中提到了很多类型的小波,我很困惑哪一种用于 Jpeg2000 压缩?
\n\n这些是我在书中找到的类型。
\n\n双正交小波、Shannon 或 \xe2\x80\x9cSinc\xe2\x80\x9d 小波、Haar 小波(最短)、Coiflets 小波。
\n\nPS:我对图像压缩一无所知,只是从这个项目开始。
\n我们发现考虑到压缩比,游程长度比哈夫曼编码(JAVA)要好得多。所有情况都是如此吗?
从我们的应用程序中,我们从第三方服务获取图像 (jpeg/png),下载后我们希望将这些图像保存为压缩文件。
任何人都可以指导如何在 Java 中压缩图像吗?
我正在尝试使用代码压缩学校报纸的PDF版本,并创建了以下脚本,该脚本在下面可以完美运行。
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -sOutputFile=$file $old;
Run Code Online (Sandbox Code Playgroud)
我去服务器上运行它,发现服务器上的ghostscript版本太旧,导致代码无法正常工作,而且我没有更新gs的权限(我在共享主机服务上。)服务器上也有ImageMagik,并且想知道是否有人可以帮助我用它压缩文本繁重的PDF。我尝试了一些类似于
convert -compress JPEG -quality 100 input.pdf output.pdf
Run Code Online (Sandbox Code Playgroud)
但是它使PDF文本非常模糊(不利于阅读报纸。)
如果有人可以帮助我,将不胜感激。谢谢!
我有几个 32 位(带 alpha 通道)位图图像,我将它们用作游戏中的基本信息。RGBA 值的微小变化会破坏一切,所以我不能使用像 S3TC 这样的有损压缩方法。
是否有任何可行的无损压缩算法可以与 OpenGL 一起使用?我正在使用片段着色器,我想使用glCompressedTexImage2D()方法来定义纹理。我还没有尝试过使用GL_COMPRESSED_RGBA参数用 OpenGL 压缩纹理,我有没有机会通过这种方式获得无损压缩?
compression opengl textures lossless-compression image-compression
我下面的代码可以上传多个图像并在上传时重命名它们工作正常.然后我尝试实现image compress但这不起作用,有人可以帮我解决这个问题.
没有压缩方法
if (!empty($_POST)) {
$newname = md5(rand() * time());
if (isset($_FILES['files'])) {
$uploadedFiles = array();
foreach ($_FILES['files']['tmp_name'] as $key => $tmp_name) {
$errors = array();
$file_name = md5(uniqid("") . time());
$file_size = $_FILES['files']['size'][$key];
$file_tmp = $_FILES['files']['tmp_name'][$key];
$file_type = $_FILES['files']['type'][$key];
if ($file_type == "image/gif") {
$sExt = ".gif";
} elseif ($file_type == "image/jpeg" || $file_type == "image/pjpeg") {
$sExt = ".jpg";
} elseif ($file_type == "image/png" || $file_type == "image/x-png") {
$sExt = ".png";
}
if (!in_array($sExt, …Run Code Online (Sandbox Code Playgroud) android ×3
image ×2
java ×2
python ×2
algorithm ×1
browser ×1
compression ×1
firebase ×1
ghostscript ×1
imagemagick ×1
imagepicker ×1
jpeg ×1
jpeg2000 ×1
kotlin ×1
opencv ×1
opengl ×1
opera ×1
opera-turbo ×1
optimization ×1
pdf ×1
php ×1
png ×1
qml ×1
qt ×1
textures ×1
wavelet ×1