javascrpit-如何用JS改变图像的原始大小

问题描述

如何用JS改变图像的原始大小

# 如何改变图像的真实大小,实现网页上传任意大小的图像?

我想从本地上传一张图片,上传之前我想对其降采样或者放大,我改变image.width和image.height可以让图片以任意大小显示,但是上传的时候任然是上传的原图。

        **想问哈各位大神如何才能真正的改变图片的大小,实现上传任意大小的图片?**

这是我调试的代码:
input id="input_upload" type="file"/ >
canvas id="canvas" style="border:1px solid #c3c3c3;" >

var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");

$('input[type=file]').change(function(){

    var file=this.files[0];
    var reader=new FileReader();
    var image=new Image();

    reader.readAsDataURL(file);
    reader.onload=function(){
        // 通过 reader.result 来访问生成的 DataURL
        var url=reader.result;
        image.src=url;
        alert(image.width);
        alert(image.height);
        image.height /=4;
        image.width /=4;
        canvas.setAttribute("width", image.width+"px");
        canvas.setAttribute("height", image.height+"px");
        alert(image.naturalWidth);
        alert(image.naturalHeight);
        context.drawImage(image,0,0,image.width,image.height);
    };
});

解决方案

canvas裁剪后,截屏再上传
http://segmentfault.com/a/1190000000754560

解决方案二:

用html5 canvas或者用nginx image filter裁剪图片

解决方案三:

这里有个帖子:如何用JS改变图像的原始大小

解决方案四:

不能吧 图片本身并不属于html的内容

js操作的应该是html的标签内容

解决方案五:

function resizeTo(img,imgWidth,imgHeight)
{
img.style.width=imgWidth;

img.style.height=imgHeight;
}
resizeTo(img,800,600);

不知道有没有帮助

解决方案六:

context.drawImage(image,0,0,image.width,image.height)之后用canvas.toDataURL()把调整大小后的图片转换为url就可以了

时间: 2024-08-23 21:55:29

javascrpit-如何用JS改变图像的原始大小的相关文章

代码-【求助】如何用JS判断页面滚动到特定的div,从而实现背景的更换

问题描述 [求助]如何用JS判断页面滚动到特定的div,从而实现背景的更换 像这个网页http://mailchimp.com/2012/,当滚动条到下一篇文章的时候背景就更换了. 我自己的想法是--每个文章块给予一个id号,当这一文章块过了窗口上方的时候开始更换背景. 我不知道百度什么关键词比较能找到这方式,所以来这里请教各位大大. 我找到了一个貌似可以实现的代码:click me,以下是我改过后的代码,是没滚动400px就改变背景图.但是我想实现的不是滚动某个高度改变背景图,而是**到某个d

javascript-如何用JS获取div下的子div

问题描述 如何用JS获取div下的子div 有多个独立的外层div,每个外层div内嵌一个内层的div,内层div在显示在外层div的下部.我要的效果是,当鼠标移入到一个外层div中时,改变这个外层div内的那个内层div.用Js怎么写代码?求大神指导 解决方案 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tr

unity3d material-unity3d中 如何用js代码来更改shader中的3个子着色器

问题描述 unity3d中 如何用js代码来更改shader中的3个子着色器 #pragma strictvar alpha;var fadeSpeed : float=10;var timeLeft:float=10;var rotationSpeed:float = 100.0f; function Start () { } function Update () { transform.Rotate(Vector3(0rotationSpeed*Time.deltaTime0)); if (

js脚本-ASP.NET中加入JS 改变表格中数据

问题描述 ASP.NET中加入JS 改变表格中数据 <%@ Page Language=""C#"" AutoEventWireup=""true"" CodeBehind=""index.aspx.cs"" Inherits=""webgf.GF"" %> <!DOCTYPE html PUBLIC ""-/

js缩放手机浏览器-如何用js恢复手机浏览器页面到初始的缩放比例

问题描述 如何用js恢复手机浏览器页面到初始的缩放比例 有一个手机上浏览的网页,我通过手势把页面放大了(没有写相关的手势控制代码,是手机浏览器自带的手势缩放功能),经过测试发现它实际是改变了浏览器的window.innerWidth/window.innerHeight这两个属性的数值,而window.outerWith/window.outerHeight都没有变化.那么问题来了,有没有方法 用js 把浏览器恢复到初始比例呢? 我已经尝试过下面的方法,都不行: 1.直接修改window.inn

JS实现左右拖动改变内容显示区域大小的方法_javascript技巧

本文实例讲述了JS实现左右拖动改变内容显示区域大小的方法.分享给大家供大家参考.具体如下: 这里演示左右可拖动的内容显示区效果,左右拖动红条改变显示区域宽度大小,往左拖则全部显示右侧内容,往右拖则全部显示左则内容,类似QQ的聊天窗口一样,可以向上或向下拖动大小,以适合使用者的要求.本代码完全JavaScript与CSS代码结合实现,在各主流浏览器内运行的兼容性也不错,左右拖动改变大小的JS代码推荐给大家. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2

如何用Photoshop改变同一场景的色彩

如何用Photoshop改变同一场景的色彩   图00 所谓场景气氛其实很容易理解,就如想象中的正午烈日之下,天空阳光灿烂,阳光火辣辣地烤焦着地面;而明月高照大概就是一轮明月高挂夜空,洒满一地月光.在艺术创作中,场景气氛源自于创作者的设计意图,继而直接表现为画布上的景物布局.光线设计.颜色搭配等,在此之中颜色搭配就是核心工作内容. 同一场景景物布局大致固定,想转换出不同的场景气氛,就要调整光线设计和颜色配置.我们都知道,每种颜色都代表某种意义,甚至有时代表多种意义.如下图显示的红色和蓝色.我们一

js改变Iframe中Src的方法

  本文实例讲述了js改变Iframe中Src的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title></title> <meta name="GENE

js改变embed标签src值的方法

 本文实例讲述了js改变embed标签src值的方法.分享给大家供大家参考.具体分析如下: 今天有一需求,一堆视频,一堆链接,点击相关的链接,在本页打开相关的视频. 第一想法,很简单么,直接把src值改成点击的那个的href值就可以了. 试了下,发现这样不行,视频该怎么放还是怎么放,永远是刚打开那个. 第二想法,给embed外面加个标签,把里面内容清空,再写进去,这样总可以了吧. 试了下,和上面一样,依旧不行. 又试了许多类似方法,还是不行. 最后,想的,把embed标签隐藏(display:n