2012-09-14 62 views
0

我正在使用HTML 5 Canvas & Java腳本創建圖像編輯工具。我通過縮放圖像以適應畫布,應用一些濾鏡並將圖像保存到磁盤來將大圖像加載到畫布。HTML5在畫布上載入較小的圖像並保存實際大小圖像

問題是,當我將畫布保存爲圖像時,它將存儲具有畫布大小的圖像。我想要的是圖像將被存儲到其應用過濾器的實際尺寸。 Flickr使用相同的方法。

對於實施例

如果圖像是1000像素X 1000像素,並在300 x 300像素的畫布顯示,我加載圖像以帆布作爲300像素x300像素。同時保存我仍然想用1000px X 1000px dimesnion保存圖像。怎麼做?

我正在開發使用PHP,HTML5 & Javascript。

我想做的事情在客戶端的一切,之前的圖像發送到服務器

任何幫助嗎?

尋找合適的解決方案

回答

3

找到它。

只需要通過使用CSS &標籤屬性改變畫布大小

CSS寬度&高度調整畫布 標籤寬度的顯示面積&高度均爲實際圖像的寬度&高度

例如:

#canvas { width:500px; height:350px} 
<canvas id="canvas" width="1024" height="760"></canvas> 

上面將顯示500px x 350px塊的畫布。 但是,當畫布保存到圖像它將保存與圖像大小1024x760

+0

嗨,你是如何使圖像在畫布上變小? –

+0

Ys,圖像的縮放像畫布一樣閃爍,當保存圖像時,它會產生相似的原始尺寸圖像 – user1531437

1

使用此鏈接。它有完整的教程。

http://www.sitepoint.com/image-resizing-php/

在這個圖像的尺寸也會隨之改變。

UPDATE

對於客戶端

http://ericjuden.com/2009/07/jquery-image-resize/

$(document).ready(function() { 
$('.story-small img').each(function() { 
    var maxWidth = 100; // Max width for the image 
    var maxHeight = 100; // Max height for the image 
    var ratio = 0; // Used for aspect ratio 
    var width = $(this).width(); // Current image width 
    var height = $(this).height(); // Current image height 

    // Check if the current width is larger than the max 
    if(width > maxWidth){ 
     ratio = maxWidth/width; // get ratio for scaling image 
     $(this).css("width", maxWidth); // Set new width 
     $(this).css("height", height * ratio); // Scale height based on ratio 
     height = height * ratio; // Reset height to match scaled image 
     width = width * ratio; // Reset width to match scaled image 
    } 

    // Check if current height is larger than max 
    if(height > maxHeight){ 
     ratio = maxHeight/height; // get ratio for scaling image 
     $(this).css("height", maxHeight); // Set new height 
     $(this).css("width", width * ratio); // Scale width based on ratio 
     width = width * ratio; // Reset width to match scaled image 
    } 
}); 
}); 
+0

沒有用,需要所有這一切在客戶端,沒有圖像處理的PHP – user1531437

+0

@ user1531437回答編輯。 –

+0

你不明白這個問題。請仔細閱讀,我想保存畫布數據與原始圖像尺寸的圖像 – user1531437

相關問題