【问题标题】:Compress image in android (b4a)在android(b4a)中压缩图像
【发布时间】:2015-08-12 13:50:57
【问题描述】:

我正在使用这个 java 代码来压缩 basic4android 中的图像!但是,没有任何效果!

#if java
import android.graphics.Bitmap;
import java.io.*;
import android.os.Environment;
public void Resize(Bitmap mPhoto)
{
    try
    {
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        mPhoto.compress(Bitmap.CompressFormat.PNG, 50, bytes);

        File file = new File(Environment.getExternalStorageDirectory()+"/"+"11111.jpg");
        file.createNewFile();
        FileOutputStream fo = new FileOutputStream(file);
        fo.write(bytes.toByteArray());
        fo.close();
    }
    catch (Exception e) {}
}
#end if

ExternalStorageDirectory 下没有文件显示。

【问题讨论】:

    标签: android basic4android


    【解决方案1】:

    尝试先在根目录下创建一个目录,然后将文件写入其中,例如:

    File sdcard = Environment.getExternalStorageDirectory();
    File dir = new File(sdcard.getAbsolutePath() + “/your-dir-name/”);
    dir.mkdir();
    File file = new File(dir, “11111.jpg”);
    FileOutputStream os = outStream = new FileOutputStream(file);
    os.write(bytes.toByteArray());
    os.close();
    

    请不要忘记将此权限添加到您的 AndroidManifest 文件中

    <uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
    

    【讨论】:

    • 谢谢我的朋友。图像已创建!但新的问题是压缩后图像尺寸变小而不是增加!!! 970 KB 的 jpeg 图像现在是 2 MB !!!我该怎么办???!!!
    • 我找到了解决方案,我应该使用:Bitmap.CompressFormat.JPEG。 tnx.
    • 很高兴您找到了适合您的解决方案!不客气:)
    猜你喜欢
    • 2011-09-21
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 2017-03-28
    相关资源
    最近更新 更多