Initial Commit Update Telerik
61
LPWeb20/RichtextEditor/rtepaint4/DrawImage.html4.aspx
Normal file
@@ -0,0 +1,61 @@
|
||||
<%@ Page Language="C#" %>
|
||||
<%@ Import Namespace="System.Drawing" %>
|
||||
<%@ Import Namespace="System.IO" %>
|
||||
<script runat="server">
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
|
||||
//1.receive command
|
||||
//2.create temp file : start with guid, contain layerid, and end with png type
|
||||
//3.when rotate or resize, find this layerid temp file first, after operate, re-save as the same name
|
||||
|
||||
//guid,temppath,layerid, actionname, sx, sy, sw, sh, tx, ty, angle, txt, imgurl, copyid, color, linewidth
|
||||
string query = Request["p"];
|
||||
if (query==null)
|
||||
{
|
||||
Response.End();
|
||||
return;
|
||||
}
|
||||
string[] qs = query.Trim().Split(',');
|
||||
if (qs.Length != 16)
|
||||
{
|
||||
Response.End();
|
||||
return;
|
||||
}
|
||||
|
||||
qs[0] = new Guid(qs[0]).ToString();
|
||||
qs[1] = Path.Combine(RTE.Editor.GetImageEditorTempDirectory(Context),new Guid(qs[1]).ToString());
|
||||
|
||||
if (qs[12].IndexOfAny(Path.InvalidPathChars)!=-1)
|
||||
{
|
||||
Response.End();
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (char c in qs[12])
|
||||
{
|
||||
if (c == '/' || c == '\\' || c == '?')
|
||||
{
|
||||
Response.End();
|
||||
return;
|
||||
}
|
||||
}
|
||||
qs[12] = Path.Combine(qs[1], qs[12]);
|
||||
|
||||
RTE.ImageEditor.Draw2dParams d2p = new RTE.ImageEditor.Draw2dParams(qs[0], qs[1], qs[2], qs[3], Convert.ToInt32(qs[4]), Convert.ToInt32(qs[5]),
|
||||
Convert.ToInt32(qs[6]), Convert.ToInt32(qs[7]), Convert.ToInt32(qs[8]),
|
||||
Convert.ToInt32(qs[9]), Convert.ToInt32(qs[10]), qs[11], qs[12], qs[13], qs[14], Convert.ToInt32(qs[15]));
|
||||
|
||||
RTE.ImageEditor.Draw2dRoute d2r = new RTE.ImageEditor.Draw2dRoute();
|
||||
|
||||
System.Drawing.Image img = d2r.CreateFragmentImage(d2p);
|
||||
|
||||
img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Png);
|
||||
|
||||
Response.Flush();
|
||||
Response.End();
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
2
LPWeb20/RichtextEditor/rtepaint4/ImageEditorLib.js
Normal file
15
LPWeb20/RichtextEditor/rtepaint4/Language.aspx
Normal file
@@ -0,0 +1,15 @@
|
||||
<%@ Page Language="C#" %>
|
||||
<script runat="server">
|
||||
string lang = "en";
|
||||
protected override void OnInit(EventArgs e)
|
||||
{
|
||||
base.OnInit(e);
|
||||
lang = Request.UserLanguages[0].Replace("-", "_");
|
||||
if (string.IsNullOrEmpty(lang))
|
||||
lang = "en";
|
||||
string path = Server.MapPath("language/" + lang + ".js");
|
||||
if (string.IsNullOrEmpty(path) || !System.IO.File.Exists(path))
|
||||
lang = "en";
|
||||
Response.Redirect("language/" + lang + ".js");
|
||||
}
|
||||
</script>
|
||||
341
LPWeb20/RichtextEditor/rtepaint4/SaveImage.html4.aspx
Normal file
@@ -0,0 +1,341 @@
|
||||
<%@ Page Language="C#" %>
|
||||
<%@ Import Namespace="System.IO" %>
|
||||
<%@ Import Namespace="System.Drawing" %>
|
||||
<script runat="server">
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
|
||||
//1. receive a list of [layerid,startx,starty,width,height]..., split with ;
|
||||
//2. re-draw based on base image, then save by saving params
|
||||
string name = Request["name"];
|
||||
string type = Request["type"];
|
||||
string path = Request["path"];
|
||||
string guid = Request["guid"];
|
||||
string imageid = Request["imageid"];
|
||||
string overwrite = Request["overwrite"];
|
||||
string layers = Request["layers"];
|
||||
string cleantemp = Request["cleantemp"];
|
||||
|
||||
if (StringIsNullOrEmpty(guid))
|
||||
{
|
||||
WriteResponse("{\"error\":\"Empty Data\",\"value\":\"\"}");
|
||||
return;
|
||||
}
|
||||
guid = new Guid(guid).ToString();
|
||||
if (name.IndexOfAny(Path.InvalidPathChars) != -1)
|
||||
{
|
||||
WriteResponse("{\"error\":\"Invalid Data\",\"value\":\"\"}");
|
||||
return;
|
||||
}
|
||||
foreach (char c in name)
|
||||
{
|
||||
if (c == '/' || c == '\\' || c == '?')
|
||||
{
|
||||
WriteResponse("{\"error\":\"Invalid Data\",\"value\":\"\"}");
|
||||
return;
|
||||
}
|
||||
}
|
||||
type = type.ToLower();
|
||||
if (type != "jpg" && type != "bmp" && type != "gif" && type != "png" && type != "jpeg")
|
||||
{
|
||||
WriteResponse("{\"error\":\"Invalid Data\",\"value\":\"\"}");
|
||||
return;
|
||||
}
|
||||
path = Path.Combine(RTE.Editor.GetImageEditorTempDirectory(Context), new Guid(path).ToString());
|
||||
imageid = Path.Combine(RTE.Editor.GetImageEditorTempDirectory(Context), new Guid(imageid).ToString());
|
||||
|
||||
string savepath = path.IndexOf(":") >= 0 ? path : Server.MapPath(path);
|
||||
if (StringIsNullOrEmpty(savepath))
|
||||
savepath = Server.MapPath("~/ImageEditorFile");
|
||||
string tempsavepath = imageid.IndexOf(":") >= 0 ? imageid : Server.MapPath(imageid);
|
||||
if (StringIsNullOrEmpty(tempsavepath))
|
||||
tempsavepath = Server.MapPath("~/ImageEditorTemp");
|
||||
if (!StringIsNullOrEmpty(cleantemp) && cleantemp == "unload")
|
||||
{
|
||||
try
|
||||
{
|
||||
//CleanTempPath(tempsavepath, guid);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
if (!Directory.Exists(savepath))
|
||||
Directory.CreateDirectory(savepath);
|
||||
if (!Directory.Exists(tempsavepath))
|
||||
Directory.CreateDirectory(tempsavepath);
|
||||
}
|
||||
catch
|
||||
{
|
||||
WriteResponse("{\"error\":\"Create Directory Error\",\"value\":\"\"}");
|
||||
return;
|
||||
}
|
||||
string file_base = GetTempFileName(tempsavepath, guid, "0");
|
||||
if (!File.Exists(file_base))
|
||||
{
|
||||
WriteResponse("{\"error\":\"File does not exist\",\"value\":\"\"}");
|
||||
return;
|
||||
}
|
||||
if (layers == null)
|
||||
layers = "";
|
||||
string[] layerarr = layers.Split(new char[]{';'}, StringSplitOptions.RemoveEmptyEntries);
|
||||
RTE.ImageEditor.Draw2d draw = new RTE.ImageEditor.Draw2d(file_base);
|
||||
int ow = draw.Width;
|
||||
int oh = draw.Height;
|
||||
foreach (string layer in layerarr)
|
||||
{
|
||||
string[] arr = layer.Split(',');
|
||||
string layerid = arr[0];
|
||||
int sx = Convert.ToInt32(arr[1]);
|
||||
int sy = Convert.ToInt32(arr[2]);
|
||||
string _fp = GetTempFileName(tempsavepath, guid, layerid);
|
||||
System.Drawing.Image bmp = GetLocalImage(_fp);
|
||||
if (bmp == null)
|
||||
continue;
|
||||
int sw = bmp.Width;
|
||||
int sh = bmp.Height;
|
||||
Rectangle rect = new Rectangle(sx, sy, sw, sh);
|
||||
draw.DrawImage(bmp, rect);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(cleantemp) && cleantemp == "1")
|
||||
{
|
||||
//CleanTempPath(tempsavepath, guid);
|
||||
}
|
||||
string ret = SaveFile(name, type, path, draw.Image, overwrite, savepath);
|
||||
WriteResponse(ret);
|
||||
}
|
||||
|
||||
private bool StringIsNullOrEmpty(string str)
|
||||
{
|
||||
if (str == null || str == "")
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
private void WriteResponse(string c)
|
||||
{
|
||||
Response.Write(c);
|
||||
Response.Flush();
|
||||
Response.End();
|
||||
}
|
||||
|
||||
private System.Drawing.Image GetLocalImage(string filepath)
|
||||
{
|
||||
if (!File.Exists(filepath))
|
||||
return null;
|
||||
try
|
||||
{
|
||||
MemoryStream ms = new MemoryStream(File.ReadAllBytes(filepath));
|
||||
return Bitmap.FromStream(ms);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private string SaveFile(string name, string type, string path, System.Drawing.Bitmap img, string overwrite, string savepath)
|
||||
{
|
||||
name = EnsureValidName(name);
|
||||
try
|
||||
{
|
||||
if (!string.IsNullOrEmpty(overwrite) && overwrite == "false")
|
||||
{
|
||||
name = CalcUniqueName(name, type, savepath);
|
||||
}
|
||||
System.Drawing.Bitmap bitsave = new System.Drawing.Bitmap(img.Width, img.Height);
|
||||
if (type == "jpg" || type=="bmp")
|
||||
{
|
||||
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitsave);
|
||||
g.Clear(System.Drawing.Color.White);
|
||||
g.Save();
|
||||
g.DrawImage(img, new System.Drawing.Rectangle(0, 0, img.Width, img.Height));
|
||||
}
|
||||
else if (type == "gif")
|
||||
{
|
||||
bitsave = new Bitmap(img.Width, img.Height, System.Drawing.Imaging.PixelFormat.Format8bppIndexed);
|
||||
bitsave.MakeTransparent();
|
||||
for (int x = 0; x < img.Width; x++)
|
||||
{
|
||||
for (int y = 0; y < img.Height; y++)
|
||||
{
|
||||
Color tc = img.GetPixel(x, y);
|
||||
if (tc.A == 0)
|
||||
bitsave.SetPixel(x, y, Color.Transparent);
|
||||
else
|
||||
bitsave.SetPixel(x, y, tc);
|
||||
}
|
||||
}
|
||||
bitsave = MakeTransparentGif(bitsave, Color.Transparent);
|
||||
}
|
||||
else
|
||||
{
|
||||
bitsave = img;
|
||||
}
|
||||
bitsave.Save(savepath.TrimEnd('/') + "/" + name + "." + type, GetImageFormat(type));
|
||||
return "{\"error\":null,\"value\":\"" + path.Replace("\\","/").TrimEnd('/') + "/" + name + "." + type + "\"}";
|
||||
}
|
||||
catch
|
||||
{
|
||||
return "{\"error\":\"Error Image Data\",\"value\":\"\"}";
|
||||
}
|
||||
}
|
||||
|
||||
private string GetTempFileName(string imageid, string guid, string layerid)
|
||||
{
|
||||
return Path.Combine(imageid, guid + "." + layerid + ".png");
|
||||
}
|
||||
|
||||
private string EnsureValidName(string name)
|
||||
{
|
||||
//[\\*\\\\/:? <> |\ "]
|
||||
Regex regEx = new Regex("[\\*\\\\/:?<>|\"]");
|
||||
if (!regEx.IsMatch(name)) return name;
|
||||
return regEx.Replace(name, "");
|
||||
}
|
||||
|
||||
private string CalcUniqueName(string name, string type, string path)
|
||||
{
|
||||
string fullpath = path.TrimEnd('/') + "/" + name + "." + type;
|
||||
if (!File.Exists(fullpath))
|
||||
return name;
|
||||
string[] files = Directory.GetFiles(path, name + "_*." + type, SearchOption.TopDirectoryOnly);
|
||||
if (files.Length == 0)
|
||||
return name + "_1";
|
||||
int ix = 1;
|
||||
foreach (string fn in files)
|
||||
{
|
||||
string _s = Path.GetFileName(fn).Remove(0, name.Length + 1);
|
||||
_s = _s.Replace("." + type, "");
|
||||
int _tx = 1;
|
||||
int.TryParse(_s, out _tx);
|
||||
if (ix <= _tx)
|
||||
ix = _tx + 1;
|
||||
}
|
||||
return name + "_" + ix;
|
||||
}
|
||||
|
||||
private void CleanTempPath(string imageid, string guid)
|
||||
{
|
||||
string[] files = Directory.GetFiles(imageid, guid + ".*.png", SearchOption.TopDirectoryOnly);
|
||||
if (files.Length == 0)
|
||||
return;
|
||||
foreach (string file in files)
|
||||
{
|
||||
try
|
||||
{
|
||||
File.Delete(file);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private System.Drawing.Imaging.ImageFormat GetImageFormat(string type)
|
||||
{
|
||||
System.Drawing.Imaging.ImageFormat ret = System.Drawing.Imaging.ImageFormat.Png;
|
||||
if (!string.IsNullOrEmpty(type)) type = type.ToLower();
|
||||
switch (type)
|
||||
{
|
||||
case "jpg":
|
||||
case "jpeg":
|
||||
ret = System.Drawing.Imaging.ImageFormat.Jpeg;
|
||||
break;
|
||||
case "tiff":
|
||||
ret = System.Drawing.Imaging.ImageFormat.Tiff;
|
||||
break;
|
||||
case "bmp":
|
||||
ret = System.Drawing.Imaging.ImageFormat.Bmp;
|
||||
break;
|
||||
case "gif":
|
||||
ret = System.Drawing.Imaging.ImageFormat.Gif;
|
||||
break;
|
||||
case "ico":
|
||||
ret = System.Drawing.Imaging.ImageFormat.Icon;
|
||||
break;
|
||||
case "wmf":
|
||||
case "emf":
|
||||
ret = System.Drawing.Imaging.ImageFormat.Wmf;
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
public Bitmap MakeTransparentGif(Bitmap bitmap, Color color)
|
||||
{
|
||||
byte R = color.R;
|
||||
byte G = color.G;
|
||||
byte B = color.B;
|
||||
|
||||
MemoryStream fin = new MemoryStream();
|
||||
bitmap.Save(fin, System.Drawing.Imaging.ImageFormat.Gif);
|
||||
|
||||
MemoryStream fout = new MemoryStream((int)fin.Length);
|
||||
int count = 0;
|
||||
byte[] buf = new byte[256];
|
||||
byte transparentIdx = 0;
|
||||
fin.Seek(0, SeekOrigin.Begin);
|
||||
//header
|
||||
count = fin.Read(buf, 0, 13);
|
||||
if ((buf[0] != 71) || (buf[1] != 73) || (buf[2] != 70)) return null; //GIF
|
||||
|
||||
fout.Write(buf, 0, 13);
|
||||
|
||||
int i = 0;
|
||||
if ((buf[10] & 0x80) > 0)
|
||||
{
|
||||
i = 1 << ((buf[10] & 7) + 1) == 256 ? 256 : 0;
|
||||
}
|
||||
|
||||
for (; i != 0; i--)
|
||||
{
|
||||
fin.Read(buf, 0, 3);
|
||||
if ((buf[0] == R) && (buf[1] == G) && (buf[2] == B))
|
||||
{
|
||||
transparentIdx = (byte)(256 - i);
|
||||
}
|
||||
fout.Write(buf, 0, 3);
|
||||
}
|
||||
|
||||
bool gcePresent = false;
|
||||
while (true)
|
||||
{
|
||||
fin.Read(buf, 0, 1);
|
||||
fout.Write(buf, 0, 1);
|
||||
if (buf[0] != 0x21) break;
|
||||
fin.Read(buf, 0, 1);
|
||||
fout.Write(buf, 0, 1);
|
||||
gcePresent = (buf[0] == 0xf9);
|
||||
while (true)
|
||||
{
|
||||
fin.Read(buf, 0, 1);
|
||||
fout.Write(buf, 0, 1);
|
||||
if (buf[0] == 0) break;
|
||||
count = buf[0];
|
||||
if (fin.Read(buf, 0, count) != count) return null;
|
||||
if (gcePresent)
|
||||
{
|
||||
if (count == 4)
|
||||
{
|
||||
buf[0] |= 0x01;
|
||||
buf[3] = transparentIdx;
|
||||
}
|
||||
}
|
||||
fout.Write(buf, 0, count);
|
||||
}
|
||||
}
|
||||
while (count > 0)
|
||||
{
|
||||
count = fin.Read(buf, 0, 1);
|
||||
fout.Write(buf, 0, 1);
|
||||
}
|
||||
fin.Close();
|
||||
fout.Flush();
|
||||
|
||||
return new Bitmap(fout);
|
||||
}
|
||||
</script>
|
||||
11
LPWeb20/RichtextEditor/rtepaint4/Style.css
Normal file
@@ -0,0 +1,11 @@
|
||||
span {font-size:13px;}
|
||||
.ImageEditor {border:1px solid #cccccc;}
|
||||
.ImageEditor .Toolbar {margin-right:5px; margin-left:3px;}
|
||||
.ImageEditor .Toolbar .Item {border:solid #8f8f8f 1px; background:#f6f6f6; padding:1px;}
|
||||
.ImageEditor .Toolbar .Over {background:#bfd6e6; border:solid #4290d9 1px; padding:1px;}
|
||||
.ImageEditor .Frame {background:#cccccc; border:0px solid red;}
|
||||
.ImageEditor .Setting {margin-top:1px;}
|
||||
.ImageEditor .Setting .Tag {clear:both; padding:3px 5px 3px 5px;}
|
||||
.ImageEditor .Setting .Button {background:#f3f3f3; border:solid #999999 1px; margin-left:8px; color:#333333;}
|
||||
.ImageEditor .Setting .Input {width:100px; border:1px solid #cccccc;}
|
||||
.ImageEditor .Setting .Url {width:260px; border:1px solid #cccccc;}
|
||||
115
LPWeb20/RichtextEditor/rtepaint4/dialog.htm
Normal file
@@ -0,0 +1,115 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Untitled Page</title>
|
||||
</head>
|
||||
<body style="padding: 0px; margin: 0px; overflow: hidden;">
|
||||
<div id="container_panel" class="ImageEditor" style="width:640px;height:480px;">
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
var editor=parent.rteimageeditoreditor;
|
||||
var dialog=parent.rteimageeditordialog;
|
||||
var option=parent.rteimageeditoroption;
|
||||
var fileurl=option.storage.UrlPrefix+option.storage.UrlPath+option.fileitem.Name;
|
||||
dialog.set_title(editor.GetLangText("imageeditor")+" : "+fileurl);
|
||||
</script>
|
||||
<script type="text/javascript" src="Language.aspx"></script>
|
||||
<script type="text/javascript" src="menuimpl.js"></script>
|
||||
<script type="text/javascript" src="ImageEditorLib.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
window.RefreshImage=function(url,callback)
|
||||
{
|
||||
var iframe=document.createElement("IFRAME");
|
||||
iframe.style.width="1px";
|
||||
iframe.style.height="1px";
|
||||
iframe.style.position="absolute";
|
||||
iframe.style.top="-1px";
|
||||
|
||||
window.rterefreshimagecallback=callback;
|
||||
window.rterefreshimageiframe=iframe;
|
||||
|
||||
var src="refreshimage.aspx?url="+encodeURIComponent(url);
|
||||
iframe.src=src;
|
||||
document.body.insertBefore(iframe,document.body.firstChild);
|
||||
|
||||
}
|
||||
window.OnRefreshImage=function()
|
||||
{
|
||||
var cb=window.rterefreshimagecallback;
|
||||
if(cb)setTimeout(cb,1);
|
||||
|
||||
var iframe=window.rterefreshimageiframe;
|
||||
iframe.parentNode.removeChild(iframe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
var imageeditor;
|
||||
var imageid=null;
|
||||
function onajaxinitimage(res)
|
||||
{
|
||||
if(res.Error)
|
||||
{
|
||||
alert(res.Error);
|
||||
dialog.close();
|
||||
return;
|
||||
}
|
||||
imageid=res.ReturnValue;
|
||||
if(imageid==null)
|
||||
{
|
||||
alert("Unable to init server image data.");
|
||||
dialog.close();
|
||||
return;
|
||||
}
|
||||
|
||||
var savetype = "png";
|
||||
var filename = option.fileitem.Name;
|
||||
var ix = option.fileitem.Name.lastIndexOf(".");
|
||||
if (ix >= 0) {
|
||||
savetype = option.fileitem.Name.substring(ix + 1);
|
||||
filename = filename.substr(0, ix);
|
||||
}
|
||||
var imageeditorconfig = { "ImageID": imageid, "RTEPath": editor._config.folder + "rtepaint4/",
|
||||
"SaveFileName": filename, "SaveFileType": savetype, "ImageUrl": option.fileitem.Name
|
||||
};
|
||||
imageeditor = new ImageEditor("container_panel", imageeditorconfig);
|
||||
|
||||
}
|
||||
|
||||
editor.CallAjax("AjaxInitImage", onajaxinitimage, option.storage, option.fileitem.Name)
|
||||
|
||||
function onajaxcommitimage(res)
|
||||
{
|
||||
if(res.Error)
|
||||
{
|
||||
alert(res.Error);
|
||||
dialog.close();
|
||||
return;
|
||||
}
|
||||
var pathitem=res.ReturnValue;
|
||||
if(pathitem==null)
|
||||
{
|
||||
alert("Unable to commit server image data. session may expired.");
|
||||
dialog.close();
|
||||
return;
|
||||
}
|
||||
window.RefreshImage(fileurl,function()
|
||||
{
|
||||
if(option.onsaveimage)
|
||||
{
|
||||
option.onsaveimage(pathitem);
|
||||
}
|
||||
//alert("Saved OK");
|
||||
dialog.close();
|
||||
});
|
||||
}
|
||||
|
||||
function OnImageSaved()
|
||||
{
|
||||
editor.CallAjax("AjaxCommitImage", onajaxcommitimage, option.storage, option.fileitem.Name, imageid)
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
BIN
LPWeb20/RichtextEditor/rtepaint4/images/back/group.gif
Normal file
|
After Width: | Height: | Size: 192 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/back/list.gif
Normal file
|
After Width: | Height: | Size: 926 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/back/menubar.gif
Normal file
|
After Width: | Height: | Size: 211 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/back/toolbar.gif
Normal file
|
After Width: | Height: | Size: 1022 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/colorpicker.cur
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/colorpicker.gif
Normal file
|
After Width: | Height: | Size: 351 B |
|
After Width: | Height: | Size: 359 B |
|
After Width: | Height: | Size: 232 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/composite_sourceover.gif
Normal file
|
After Width: | Height: | Size: 352 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/composite_xor.gif
Normal file
|
After Width: | Height: | Size: 362 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/copy.gif
Normal file
|
After Width: | Height: | Size: 586 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/crop.gif
Normal file
|
After Width: | Height: | Size: 247 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/cut.gif
Normal file
|
After Width: | Height: | Size: 546 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/delete.gif
Normal file
|
After Width: | Height: | Size: 607 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/elli.gif
Normal file
|
After Width: | Height: | Size: 897 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/erase.gif
Normal file
|
After Width: | Height: | Size: 166 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/exchange.gif
Normal file
|
After Width: | Height: | Size: 282 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/eye-visible.gif
Normal file
|
After Width: | Height: | Size: 991 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/fliph.gif
Normal file
|
After Width: | Height: | Size: 628 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/flipv.gif
Normal file
|
After Width: | Height: | Size: 624 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/grad.gif
Normal file
|
After Width: | Height: | Size: 228 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/grad_radial.gif
Normal file
|
After Width: | Height: | Size: 401 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/image.gif
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/layerstyle.gif
Normal file
|
After Width: | Height: | Size: 323 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/line.gif
Normal file
|
After Width: | Height: | Size: 130 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/new.gif
Normal file
|
After Width: | Height: | Size: 615 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/paste.gif
Normal file
|
After Width: | Height: | Size: 622 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/pattern/patt_1.gif
Normal file
|
After Width: | Height: | Size: 228 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/pattern/patt_2.gif
Normal file
|
After Width: | Height: | Size: 401 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/pen.gif
Normal file
|
After Width: | Height: | Size: 322 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/point.gif
Normal file
|
After Width: | Height: | Size: 556 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/rect.gif
Normal file
|
After Width: | Height: | Size: 81 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/redo.gif
Normal file
|
After Width: | Height: | Size: 952 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/resize.gif
Normal file
|
After Width: | Height: | Size: 138 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/rotate.gif
Normal file
|
After Width: | Height: | Size: 558 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/rotateleft90.gif
Normal file
|
After Width: | Height: | Size: 636 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/rotateright90.gif
Normal file
|
After Width: | Height: | Size: 634 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/save.gif
Normal file
|
After Width: | Height: | Size: 623 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/scrollbar.gif
Normal file
|
After Width: | Height: | Size: 330 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/select.gif
Normal file
|
After Width: | Height: | Size: 79 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/selectback.gif
Normal file
|
After Width: | Height: | Size: 113 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/submenu.gif
Normal file
|
After Width: | Height: | Size: 116 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/text.gif
Normal file
|
After Width: | Height: | Size: 317 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/toolmerge.gif
Normal file
|
After Width: | Height: | Size: 1008 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/toolmoveup.gif
Normal file
|
After Width: | Height: | Size: 880 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/transback.gif
Normal file
|
After Width: | Height: | Size: 176 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/undo.gif
Normal file
|
After Width: | Height: | Size: 551 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/zoom.gif
Normal file
|
After Width: | Height: | Size: 561 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/zoomin.gif
Normal file
|
After Width: | Height: | Size: 586 B |
BIN
LPWeb20/RichtextEditor/rtepaint4/images/zoomout.gif
Normal file
|
After Width: | Height: | Size: 376 B |
2
LPWeb20/RichtextEditor/rtepaint4/language/en.js
Normal file
@@ -0,0 +1,2 @@
|
||||
eval((function(a){var c=[];for(var b=1;b<128;b++)c[b]=String.fromCharCode(b);var d=[11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];var e=[];for(var b=0;b<d.length;b++)e[d[b]]=b+1;var f=a.split('\x01');for(var g=f.length-1;g>=0;g--){var h=null;var i=f[g];var j=null;var k=0;var l=i.length;var m;for(var n=0;n<l;n++){var o=i.charCodeAt(n);if(o>31)continue;var p=e[o];if(p){p=p-1;h=p*113+i.charCodeAt(n+1)-14;m=n;n++;}else if(o==6){h=113*d.length+(i.charCodeAt(n+1)-14)*113+i.charCodeAt(n+2)-14;m=n;n+=2;}else{continue;}if(j==null)j=[];if(m>k)j.push(i.substring(k,m));j.push(f[h+1]);k=n+1;}if(j!=null){if(k<l)j.push(i.substring(k));f[g]=j.join('');}}a=f[0].split('\x08').join('\'').split('\x07').join('\\');var x='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';var y=[1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];for(var b=0;b<y.length;b++)a=a.split('\x7F'+x.charAt(b)).join(c[y[b]]);return a.split('\x7F!').join('\x7F');})('var OxO7100=["Tool_5Picker_Opacity","Opacity(6","6(H:","H:(New_Type","C8 Typ&New_Fill53 5(Resize_Constrain","Constrain proportions(Save_FileName","File nam&Save_FileType","Typ&Draw_Mode","ModeFont","FontSiz;izeBold","BoldText","Text(4_D9","Degre&Load_Url","Url:1Apply","Apply1Cancel","Cancel1Sav;ave1Ok","ok#4_CW","CW#4_ACW","CCW#New_Url","From url#New_Canvas","Canvas#Mode_Fill3#Mode_Strok;troke#5_Transparent","Transparent#5_Back53 5#Bool_True","True#Bool_False","Fals"AddImage","Add an7"Fill53 color, draw color\'Line6","Line width setting\'New","C8 a new7"Resize","Resiz"Sav;ave7"Select","Select an area to crop\'Point","Poin$Crop","Crop\'Cut","Cu$Copy","Copy selected layer\'Paste","Past"Delete","Delet"Rect.rec$Elli.arc or ellips"Pen","Pen\'Line.a lin"Text.tex$4","Rotat"490Righ 90 d9 righ$490Lef 90 d9 lef$FlipH","Flip horizontal\'FlipV","Flip vertical\'ZoomIn/in\'ZoomOut/ou$Undo","Undo\'Redo","Redo!PoinZoomIn/In!ZoomOut/Ou4Righ righ4Lef lefMoveUp","Move up layer!MoveDown","Move down layer!Delete","C8First","Please c8 an7e first2FileNamefile name","D9Valid","D9s should be between 0 to 3602UrlURL2UrlOr","or input an valid7e url","6Validwidth and h: as number great than 0","Min6Valid","6 or h: should be g8r than 10 px2Texttext","Failure","FileSaved","File Saved"];var7eeditor_lang={};image0[00[+0[-0[,0[*0[1)0[1200[11-0[11,0[11*0[22)0[22+0[22-0[22,0[22*0[33)0[33+0[33-0[33,0[33*0[44)0[44+0[44-0[44,0[44*0[55)0[55+0[55-0[55,0[55*0[66)0[66+0[66-0[66,0[66*0[77)0[77+0[77-0[77,0[77*0[88)0[88+0[88-0[88,0[88*0[99)0[99+0[99-0[99,0[99*0[100)0[102+0[104-0[106,0[108*0[111)0[117+0[113400[115600[117800[119000[121200[123400[125]]=OxO7100[8+0[126,0[128*0[130)0[132+0[134-0[136,0[138*0[144)0[1414200[143]]=OxO7100[144];ditor_lang[OxO7100geeditor_lang[OxO7itor_lang[OxO7100[editor_lang[OxO710eeditor_lang[OxO71","Please input (Text_1]]=OxO7100[13]]=OxO7100[11]]=OxO7100[12]]=OxO7100[102]]=OxO7100[8]]=OxO7100[6]]=OxO7100[4]]=OxO7100[0]]=OxO7100[t!t","4 ","Context_e\'","Select_t\'\'Re(","Title_:","Tool_1090307050","Draw ","Zoom ];image","Btn_","Need","FillRotateColorWidth imagreateegreeeighte","S'
|
||||
))
|
||||
2
LPWeb20/RichtextEditor/rtepaint4/language/en_us.js
Normal file
@@ -0,0 +1,2 @@
|
||||
eval((function(a){var c=[];for(var b=1;b<128;b++)c[b]=String.fromCharCode(b);var d=[11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];var e=[];for(var b=0;b<d.length;b++)e[d[b]]=b+1;var f=a.split('\x01');for(var g=f.length-1;g>=0;g--){var h=null;var i=f[g];var j=null;var k=0;var l=i.length;var m;for(var n=0;n<l;n++){var o=i.charCodeAt(n);if(o>31)continue;var p=e[o];if(p){p=p-1;h=p*113+i.charCodeAt(n+1)-14;m=n;n++;}else if(o==6){h=113*d.length+(i.charCodeAt(n+1)-14)*113+i.charCodeAt(n+2)-14;m=n;n+=2;}else{continue;}if(j==null)j=[];if(m>k)j.push(i.substring(k,m));j.push(f[h+1]);k=n+1;}if(j!=null){if(k<l)j.push(i.substring(k));f[g]=j.join('');}}a=f[0].split('\x08').join('\'').split('\x07').join('\\');var x='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';var y=[1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];for(var b=0;b<y.length;b++)a=a.split('\x7F'+x.charAt(b)).join(c[y[b]]);return a.split('\x7F!').join('\x7F');})('var OxO9541=["Tool_5Picker_Opacity","Opacity(6","6(H:","H:(New_Type","C8 Typ&New_Fill53 5(Resize_Constrain","Constrain proportions(Save_FileName","File nam&Save_FileType","Typ&Draw_Mode","ModeFont","FontSiz;izeBold","BoldText","Text(4_D9","Degre&Load_Url","Url:1Apply","Apply1Cancel","Cancel1Sav;ave1Ok","ok#4_CW","CW#4_ACW","CCW#New_Url","From url#New_Canvas","Canvas#Mode_Fill3#Mode_Strok;troke#5_Transparent","Transparent#5_Back53 5#Bool_True","True#Bool_False","Fals"AddImage","Add an7"Fill53 color, draw color\'Line6","Line width setting\'New","C8 a new7"Resize","Resiz"Sav;ave7"Select","Select an area to crop\'Point","Poin$Crop","Crop\'Cut","Cu$Copy","Copy selected layer\'Paste","Past"Delete","Delet"Rect.rec$Elli.arc or ellips"Pen","Pen\'Line.a lin"Text.tex$4","Rotat"490Righ 90 d9 righ$490Lef 90 d9 lef$FlipH","Flip horizontal\'FlipV","Flip vertical\'ZoomIn/in\'ZoomOut/ou$Undo","Undo\'Redo","Redo!PoinZoomIn/In!ZoomOut/Ou4Righ righ4Lef lefMoveUp","Move up layer!MoveDown","Move down layer!Delete","C8First","Please c8 an7e first2FileNamefile name","D9Valid","D9s should be between 0 to 3602UrlURL2UrlOr","or input an valid7e url","6Validwidth and h: as number great than 0","Min6Valid","6 or h: should be g8r than 10 px2Texttext","Failure","FileSaved","File Saved"];var7eeditor_lang={};image1[01[+1[-1[,1[*1[1)1[1201[11-1[11,1[11*1[22)1[22+1[22-1[22,1[22*1[33)1[33+1[33-1[33,1[33*1[44)1[44+1[44-1[44,1[44*1[55)1[55+1[55-1[55,1[55*1[66)1[66+1[66-1[66,1[66*1[77)1[77+1[77-1[77,1[77*1[88)1[88+1[88-1[88,1[88*1[99)1[99+1[99-1[99,1[99*1[100)1[102+1[104-1[106,1[108*1[111)1[117+1[113401[115601[117801[119001[121201[123401[125]]=OxO9541[8+1[126,1[128*1[130)1[132+1[134-1[136,1[138*1[144)1[1414201[143]]=OxO9541[144];ditor_lang[OxO9541geeditor_lang[OxO9itor_lang[OxO9541[editor_lang[OxO954eeditor_lang[OxO95","Please input (Text_1]]=OxO9541[13]]=OxO9541[11]]=OxO9541[12]]=OxO9541[102]]=OxO9541[8]]=OxO9541[6]]=OxO9541[4]]=OxO9541[0]]=OxO9541[t!t","4 ","Context_e\'","Select_t\'\'Re(","Title_:","Tool_1090307050","Draw ","Zoom ];image","Btn_","Need","FillRotateColorWidth imagreateegreeeighte","S'
|
||||
))
|
||||
2
LPWeb20/RichtextEditor/rtepaint4/language/zh_cn.js
Normal file
@@ -0,0 +1,2 @@
|
||||
eval((function(a){var c=[];for(var b=1;b<128;b++)c[b]=String.fromCharCode(b);var d=[11,12,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];var e=[];for(var b=0;b<d.length;b++)e[d[b]]=b+1;var f=a.split('\x01');for(var g=f.length-1;g>=0;g--){var h=null;var i=f[g];var j=null;var k=0;var l=i.length;var m;for(var n=0;n<l;n++){var o=i.charCodeAt(n);if(o>31)continue;var p=e[o];if(p){p=p-1;h=p*113+i.charCodeAt(n+1)-14;m=n;n++;}else if(o==6){h=113*d.length+(i.charCodeAt(n+1)-14)*113+i.charCodeAt(n+2)-14;m=n;n+=2;}else{continue;}if(j==null)j=[];if(m>k)j.push(i.substring(k,m));j.push(f[h+1]);k=n+1;}if(j!=null){if(k<l)j.push(i.substring(k));f[g]=j.join('');}}a=f[0].split('\x08').join('\'').split('\x07').join('\\');var x='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';var y=[1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31];for(var b=0;b<y.length;b++)a=a.split('\x7F'+x.charAt(b)).join(c[y[b]]);return a.split('\x7F!').join('\x7F');})('var OxOdd89=["Tool_6Picker_Opacity","透明度\'7","宽\'Height","高\'New_Type","类型\'New_Fill6","填充颜色\'Resize_Constrain","约束比例\'Save_FileName","文件名称\'Save_FileType","文件类型\'Draw_ModeFo8字体:Size","大小:Bold","粗体:Text","文本\'5_Degree","角度\'Load_Url","Url地址:4Apply","应用4Cancel","取消4Save","保存4Ok","确定$5_CW","顺时针$5_ACW","逆时针$New_Url","从Url地址$New_Canvas","空图片$Mode_Fill","填充$Mode_Stroke","描边$6_Transpare8透明$6_Back6","画笔颜色$Bool_True","是$Bool_False","否&AddImage","添加图片&Fill6&Line7","线条宽度设置&New","创建新图片%esize","调整大小&Save","保存图片&Select","选择裁剪区域&Poi8选择工具&Crop","裁剪&Cut","剪切&Copy","复制选中图层&Pas9粘贴&Dele9删除选中图层%ect","画矩形&Elli","画圆或椭圆&Pen","钢笔&Line","直线&Text","文字工具%ota9旋转%otate90Right","向右旋转90度%otate90Left","向左旋转90度&FlipH","水平翻转&FlipV","垂直翻转&ZoomIn","放大&ZoomOut","缩小&Undo","撤销%edo","重做"Poi8选择"ZoomIn"ZoomOut"5Right"5Left"MoveUp","上移图层"MoveDown","下移图层"Dele9删除","CreateFirst","请先新建一个图片3FileName","请输入文件名称","DegreeValid","角度必须是0-360之间的数字3Url","请输入URL地址3UrlOr","或输入有效的URL地址","7Valid","宽或高必须大于0","Min7Valid","宽或高必须大于10像素3Text","请输入文字","Failure","失败","FileSaved","文件已保存"];var imageeditor_lang={};image9[29[229[429[(9[829[1*9[1229[11529[1(9[17#1829[19 /9[21 .9[23 09[25 19[27 -9[29/9[31.9[3309[3519[37-9[39/9[41.9[4309[4519[47-9[49/9[51.9[5309[5519[57-9[59.9[60#6*9[62#6329[66529[66(9[68#6929[70*9[72,9[74)9[77(9[78+9[80#8*9[82#8329[88529[88(9[88#8929[90*9[92,9[94)9[96(9[98+9[100*9[102,9[104)9[106(9[108+9[111*9[112,9[113)9[114)9[115(9[1111(9[118#11929[122*9[122,9[124)9[126(9[128+9[133*9[132,9[134)9[136(9[138+9[1441];ditor_lang[OxOdd89geeditor_lang[OxOditor_lang[OxOdd89[editor_lang[OxOdd8eeditor_lang[OxOdd0#1#10#132#1#12","Tool_Text_#9#74##56##3#4#27#","Context_]]=OxOdd89[","Select_&R","Title_:","Tool_72521292328222024262];image","Need","Btn_RotateColorWidthnt","te","'
|
||||
))
|
||||
2
LPWeb20/RichtextEditor/rtepaint4/menuimpl.js
Normal file
59
LPWeb20/RichtextEditor/rtepaint4/refreshimage.aspx
Normal file
@@ -0,0 +1,59 @@
|
||||
<%@ Page Language="C#" %>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<script runat="server">
|
||||
protected override void OnLoad(EventArgs e)
|
||||
{
|
||||
base.OnLoad(e);
|
||||
|
||||
HttpCookie cookie = Request.Cookies["rterefreshimage"];
|
||||
if (cookie != null && cookie.Value == "1")
|
||||
{
|
||||
Img.ImageUrl = Request.QueryString["url"];
|
||||
panel1.Visible = false;
|
||||
panel2.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
panel1.Visible = true;
|
||||
panel2.Visible = false;
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>refreshing..</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<div>
|
||||
<asp:Image runat="server" ID="Img" />
|
||||
</div>
|
||||
<asp:Panel runat="server" ID="panel1">
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function()
|
||||
{
|
||||
document.cookie="rterefreshimage=1"
|
||||
window.location.reload(true);
|
||||
},1);
|
||||
</script>
|
||||
|
||||
</asp:Panel>
|
||||
<asp:Panel runat="server" ID="panel2">
|
||||
|
||||
<script type="text/javascript">
|
||||
setTimeout(function()
|
||||
{
|
||||
document.cookie="rterefreshimage=0"
|
||||
parent.OnRefreshImage();
|
||||
},1);
|
||||
</script>
|
||||
|
||||
</asp:Panel>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||