你可以使用Canvas在DotNet中实现这个功能。
canvas.SaveAs(dstfile, "Quality=high");
这是编程教程:http://www.websupergoo.com/helpig6net/source/3-examples/1-drawimage.htm
无需使用Flash。
保存图像的一个绝佳方法是使用本地的toDataURL
方法。
var element = document.getElementById('drawingCanvas');
var data = element.toDataURL();
// data holds the base64 encoded image of the canvas
从那里,您可以将其异步地发布到服务器
$.ajax({
'type': 'post',
'dataType': 'json',
'data': {'image': data},
'url': '/json/image_converter.php'
});
并使用ImageMagick将其转换为图像:
list($header, $data) = explode(',', $_POST['image']);
$image = base64_decode($data);
$magick = new Imagick();
$magick->setFormat('png');
$magick->readImageBlob($image);
$magick->writeImage('/home/dude/imagefile.png');
编辑:哦,当然我忘了说IE不支持canvas,因此没有toDataURL方法。即使使用explorer canvas的解决方法也不行。
Flash可以很轻松地完成这个任务,不过您需要设置后端以启用它。基本上,您可以在舞台上绘制任何内容,将其转换为像素数据的字节数组,然后对该字节数组进行编码,使其符合例如 .PNG 规范。然后,您将整个数据包作为字节数组发送到后端,并确保您的服务器端脚本知道将其写入 .png 文件并保存位置到您的数据库。这样说您懂了吗?
可以在 Flex Cookbook 上找到一个广泛的示例:http://cookbooks.adobe.com/post_Creating_a__png_file_from_a_webcam_image-12732.html
<canvas />
标签,而不是.NET中的Canvas
类。https://developer.mozilla.org/zh-CN/Canvas_tutorial - Dan Herbert