小编Bri*_*ier的帖子

HTML5 Canvas drawImage比率错误iOS

我想用HTML5 Canvas调整从客户端iOS相机拍摄的图像的大小,但是我继续在这个奇怪的错误中运行,如果大于〜1.5mb,图像的比例错误

它适用于桌面,但不适用于带有媒体上传API的最新iOS版本.

你可以在这里看到一个例子:http://jsbin.com/ekuros/1

知道怎么解决这个问题吗?这是内存问题吗?

$('#file').on('change', function (e) {
    var file = e.currentTarget.files[0];
    var reader = new FileReader();
    reader.onload = function (e) {
        var image = $('<img/>');
        image.on('load', function () {
            var square = 320;
            var canvas = document.createElement('canvas');

            canvas.width = square;
            canvas.height = square;

            var context = canvas.getContext('2d');
            context.clearRect(0, 0, square, square);
            var imageWidth;
            var imageHeight;
            var offsetX = 0;
            var offsetY = 0;

            if (this.width > this.height) {
                imageWidth = Math.round(square * this.width / this.height); …
Run Code Online (Sandbox Code Playgroud)

javascript html5 canvas ios

55
推荐指数
3
解决办法
4万
查看次数

Android相机意图与裁剪

我一直在尝试裁剪和调整图像大小,同时通过相机意图拍摄照片,但不明白我在这里做错了什么 - 即使文件正确保存在文件上也无法获取裁剪后的图像数据电话.

...
public class Add extends Activity {
    private String imageFilePath;
    ...
    protected void onCreate(Bundle savedInstanceState) {
    ...
        imageFilePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/tmp/" + String.valueOf(System.currentTimeMillis()) + ".jpg";
        imageFile = new File(imageFilePath);
        imageFileUri = Uri.fromFile(imageFile);
        Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageFileUri);
        intent.putExtra("crop", "true");
        intent.putExtra("outputX", 600);
        intent.putExtra("outputY", 600);
        intent.putExtra("aspectX", 1);
        intent.putExtra("aspectY", 1);
        intent.putExtra("scale", true);
        intent.putExtra("return-data", true); 
        startActivityForResult(intent, 0);
        ...
    }
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch(requestCode) {
        case 0 : {    
        Bitmap bitmap = BitmapFactory.decodeFile(imageFilePath); …
Run Code Online (Sandbox Code Playgroud)

android crop android-intent android-camera

5
推荐指数
1
解决办法
2万
查看次数