将图表图像保存在GWT的特定位置
Save chart image in specific location GWT
我有以下代码来保存我的谷歌聊天中的图像:
我的HMTL;
function getImgData(chartContainer)
{
var chartArea = chartContainer.getElementsByTagName('iframe')
[0].contentDocument.getElementById('chartArea');
var svg = chartArea.innerHTML;
var doc = chartContainer.ownerDocument;
var canvas = doc.createElement('canvas');
canvas.setAttribute('width', chartArea.offsetWidth);
canvas.setAttribute('height', chartArea.offsetHeight);
canvas.setAttribute(
'style',
'position: absolute; ' +
'top: ' + (-chartArea.offsetHeight * 2) + 'px;' +
'left: ' + (-chartArea.offsetWidth * 2) + 'px;');
doc.body.appendChild(canvas);
canvg(canvas, svg);
var imgData = canvas.toDataURL('image/png');
canvas.parentNode.removeChild(canvas);
return imgData;
}
function saveAsImg(chartContainer)
{
var data = getImgData(chartContainer);
window.location = data.replace('image/png', 'image/octet-stream');
}
问题是,向用户询问位置,我想直接保存它,我的意思是,在不询问任何特定位置的情况下,因为我需要这个位置,然后在服务器端将这个图像包含到pdf文件中,所以我需要知道位置,我需要向用户发送它。
谢谢你。
是否希望将图像保存在服务器上而不是客户端上?如果是这样,您将需要服务器上的一个服务,该服务可以接受上传中的图像并将其保存为文件。然后你可以通过AJAX发送图像,类似于以下内容:
function uploadImage (chartContainer) {
// using jQuery AJAX
$.ajax({
url: '/path/to/image/save/service',
data: {
image: getImgData(chartContainer)
},
type: 'POST'
});
}
这可能需要调整才能完全正确,但基本概念已经到位。
相关文章:
- 在地图加载/页面加载时,我想将地图设置为当前地理位置,但不想在地图上显示定位图标
- JQuery定位:我可以滚动到正确的位置一次,但不能滚动两次
- 如何在jquerymobile中同时放置两个定位的经纬度位置
- Javascript / 根据一个元素的位置定位另一个元素
- 如何定位“隐藏”的 iframe?(应用程序:链接到嵌入“隐藏的海报图像”嵌入的 Youtube 视频的起始位置)
- 与位置的相对定位:绝对
- 在没有“位置”属性的情况下实现绝对定位,使用边距/填充
- 用于相对于用户在约束内单击的位置定位框的数学公式
- 运行地理位置定位的 js 文件
- 如果定位服务关闭,英特尔 XDK 地理位置将找不到纬度/经度
- 在 iPad 上绝对定位不会将元素设置在所需位置
- 如何使用 jQuery 计算相对定位元素的绝对位置*没有*
- 如果php返回位置头,我如何在jquery ajax中定位页面
- 试着根据父母的位置来定位孩子
- 地理定位api没有给出准确的用户位置
- 定位父元素,使子元素处于完全相同的位置
- 如何在Javascript/Mootools中根据页面上不同对象的位置定位箭头
- 使用javascript查找元素相对于最近相对定位的父元素的位置
- 多个谷歌位置请求功能(药房定位器)
- 点击html5地理定位当前位置,然后减去两点