視頻拍照的flash文件
import it.sephiroth.mloaderWindow
import it.sephiroth.PrintScreen
myCam = Camera.get();
myCam.setMode(390, 290, 10);
my_video.attachVideo(myCam);
var loader:mloaderWindow = this.createClassObject(mloaderWindow, "loader", 10, {_x:-1000, _y:-1000})
//loader.setStyle("borderColor", 0x006699)
var listener:Object = new Object();
listener.onProgress = function(target:MovieClip, loaded:Number, total:Number){
var perc = Math.round((loaded/total)*100)
loader.label = "Sending... " + perc + "%"
loader.value = perc
}
listener.onComplete = function(target:MovieClip, load_var:LoadVars){
loader.label = "Sending..."
load_var.send("makepic.aspx", "_self", "POST")
loader.close()
}
function print_me(){
var mc_x = 15;
var mc_y = 15;
my_video.attachVideo(null);
pn = new PrintScreen();
pn.addListener( listener );
pn.print(_root, 0, 0, 390, 290, mc_x, mc_y)
loader.label = "輸出中... 0%"
loader.open(true, true, true);
}
asp.net 獲取flash拍照程序的數據:
private bool CreateImage(string Path)
{
int w = 0;
int h = 0;
try
{
w = int.Parse(Request.Form["width"]);
h = int.Parse(Request.Form["height"]);
}
catch (Exception ee)
{
Response.Write(ee.Message);
return false;
}
Bitmap newmap = new Bitmap(w, h);
int rows = 0;
int cols = 0;
Graphics gp = Graphics.FromImage(newmap);
gp.Clear(Color.White);
ImageCodecInfo myImageCodecInfo;
System.Drawing.Imaging.Encoder myEncoder;
EncoderParameter myEncoderParameter;
EncoderParameters myEncoderParameters;
myImageCodecInfo = ImageCodecInfo.GetImageEncoders()[1];
myEncoder = System.Drawing.Imaging.Encoder.Quality;
myEncoderParameters = new EncoderParameters(1);
myEncoderParameter = new EncoderParameter(myEncoder, 95L);
myEncoderParameters.Param[0] = myEncoderParameter;
gp.CompositingQuality = CompositingQuality.HighQuality;
gp.SmoothingMode = SmoothingMode.HighQuality;
gp.InterpolationMode = InterpolationMode.HighQualityBicubic;
gp.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
for (rows = 0; rows < newmap.Height; rows++) //循環圖片高度
{
string px = Request["PX" + rows];
string[] c_row = px.Split(',');
for (cols = 0; cols < newmap.Width; cols++) //循環圖片寬度
{
string values = c_row[cols];
if (values != "" && values != null)
{
string hex = values;
while (hex.Length < 6)
{//防止顏色丟失
hex = "0" + hex;
}
int r = int.Parse(hex.Substring(0, 2), System.Globalization.NumberStyles.HexNumber);
int g = int.Parse(hex.Substring(2, 2), System.Globalization.NumberStyles.HexNumber);
int b = int.Parse(hex.Substring(4, 2), System.Globalization.NumberStyles.HexNumber);
newmap.SetPixel(cols, rows, Color.FromArgb(r, g, b));
}
}
}
gp.DrawImage(newmap, 0, 0, w, h);
Path = Server.MapPath("makepic.aspx")+"123.jpg";
//保存路徑,修改這裏
newmap.Save(Path, myImageCodecInfo, myEncoderParameters);
myEncoderParameters.Dispose();
gp.Dispose();
newmap.Dispose();
Response.Redirect(Path);
return true;
}
對flash不太瞭解釋從盟動力上下的一個flash源碼,使在php中調用的,此處改爲在asp.net中調用