zoukankan
html css js c++ java
象yhoo相册那样在网页上操作图片(不完全)_2
操作页面后面代码
protected
System.Web.UI.WebControls.Image MyImage;
//
private System.Drawing.Image ResultImg = null;
private
void
Page_Load(
object
sender, System.EventArgs e)
{
//
在此处放置用户代码以初始化页面
if
(
!
Page.IsPostBack)
{
urlStr.Value
=
"
fileName=3_21165.jpg
"
;
ChangImag();
}
}
private
void
Button1_Click(
object
sender, System.EventArgs e)
{
string
strFilename
=
string
.Empty;
System.Drawing.Image i;
strFilename
=
Server.MapPath(
"
img/3_21165.jpg
"
);
i
=
System.Drawing.Image.FromFile(strFilename);
System.Drawing.Bitmap b
=
new
System.Drawing.Bitmap(
500
,
600
);
Graphics g
=
System.Drawing.Graphics.FromImage(b);
//
'切割图片
g.DrawImage(i,
new
Rectangle(
0
,
0
,b.Width,b.Height),
200
,
20
,b.Width,b.Height,GraphicsUnit.Pixel);
Response.ContentType
=
"
image/jpeg
"
;
b.Save(Server.MapPath(
"
img/1.jpg
"
),System.Drawing.Imaging.ImageFormat.Jpeg);
b.Dispose();
Response.Write(
"
<script language='javascript'>alert('OK');</script>
"
);
}
private
void
TurnOne_Click(
object
sender, System.Web.UI.ImageClickEventArgs e)
{
//翻转
#region
//
翻转
string
goUrl
=
urlStr.Value;
int
i
=
goUrl.IndexOf(
"
ring
"
);
if
(i
==-
1
)
{
goUrl
+=
"
&ring=Rotate180FlipY
"
;
}
else
{
string
donum
=
null
;
for
(
int
j
=
i
+
5
;j
<
goUrl.Length;j
++
)
{
if
(goUrl.Substring(j,
1
)
!=
"
&
"
)
{
donum
+=
goUrl.Substring(j,
1
);
}
else
{
break
;
}
}
switch
(donum)
{
case
"
Rotate90FlipNone
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate90FlipNone
"
,
"
&ring=Rotate90FlipX
"
);
break
;
case
"
Rotate180FlipNone
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate180FlipNone
"
,
"
&ring=Rotate180FlipX
"
);
break
;
case
"
Rotate270FlipNone
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate270FlipNone
"
,
"
&ring=Rotate90FlipY
"
);
break
;
case
"
Rotate90FlipX
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate90FlipX
"
,
"
&ring=Rotate90FlipNone
"
);
break
;
case
"
Rotate180FlipX
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate180FlipX
"
,
"
&ring=Rotate180FlipNone
"
);
break
;
case
"
Rotate270FlipX
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate270FlipX
"
,
"
&ring=Rotate90FlipXY
"
);
break
;
case
"
RotateNoneFlipX
"
:
goUrl
=
goUrl.Replace(
"
&ring=RotateNoneFlipX
"
,
""
);
break
;
case
"
Rotate90FlipY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate90FlipY
"
,
"
&ring=Rotate270FlipNone
"
);
break
;
case
"
Rotate180FlipY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate180FlipY
"
,
""
);
break
;
case
"
Rotate270FlipY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate270FlipY
"
,
"
&ring=Rotate90FlipNone
"
);
break
;
case
"
RotateNoneFlipY
"
:
goUrl
=
goUrl.Replace(
"
&ring=RotateNoneFlipY
"
,
"
&ring=Rotate180FlipNone
"
);
break
;
case
"
Rotate90FlipXY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate90FlipXY
"
,
"
&ring=Rotate270FlipX
"
);
break
;
case
"
Rotate180FlipXY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate180FlipXY
"
,
"
&ring=RotateNoneFlipX
"
);
break
;
case
"
Rotate270FlipXY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate270FlipXY
"
,
"
&ring=Rotate90FlipX
"
);
break
;
case
"
RotateNoneFlipXY
"
:
goUrl
=
goUrl.Replace(
"
&ring=RotateNoneFlipXY
"
,
"
&ring=RotateNoneFlipY
"
);
break
;
}
}
#endregion
urlStr.Value
=
goUrl;
ChangImag();
}
private
void
ChangImag()
{
MyImage.ImageUrl
=
"
MyImg.aspx?
"
+
urlStr.Value;
}
private
void
GoRr_Click(
object
sender, System.Web.UI.ImageClickEventArgs e)
{
//顺时钟
#region
//
顺时钟
string
goUrl
=
urlStr.Value;
int
i
=
goUrl.IndexOf(
"
ring
"
);
if
(i
==-
1
)
{
goUrl
+=
"
&ring=Rotate90FlipNone
"
;
}
else
{
string
donum
=
null
;
for
(
int
j
=
i
+
5
;j
<
goUrl.Length;j
++
)
{
if
(goUrl.Substring(j,
1
)
!=
"
&
"
)
{
donum
+=
goUrl.Substring(j,
1
);
}
else
{
break
;
}
}
switch
(donum)
{
case
"
Rotate90FlipNone
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate90FlipNone
"
,
"
&ring=Rotate180FlipNone
"
);
break
;
case
"
Rotate180FlipNone
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate180FlipNone
"
,
"
&ring=Rotate270FlipNone
"
);
break
;
case
"
Rotate270FlipNone
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate270FlipNone
"
,
""
);
break
;
case
"
Rotate90FlipX
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate90FlipX
"
,
"
&ring=RotateNoneFlipX
"
);
break
;
case
"
Rotate180FlipX
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate180FlipX
"
,
"
&ring=Rotate90FlipX
"
);
break
;
case
"
Rotate270FlipX
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate270FlipX
"
,
"
&ring=Rotate180FlipX
"
);
break
;
case
"
RotateNoneFlipX
"
:
goUrl
=
goUrl.Replace(
"
&ring=RotateNoneFlipX
"
,
"
&ring=Rotate270FlipX
"
);
break
;
case
"
Rotate90FlipY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate90FlipY
"
,
"
&ring=RotateNoneFlipY
"
);
break
;
case
"
Rotate180FlipY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate180FlipY
"
,
"
&ring=Rotate90FlipY
"
);
break
;
case
"
Rotate270FlipY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate270FlipY
"
,
"
&ring=Rotate180FlipY
"
);
break
;
case
"
RotateNoneFlipY
"
:
goUrl
=
goUrl.Replace(
"
&ring=RotateNoneFlipY
"
,
"
&ring=Rotate270FlipY
"
);
break
;
case
"
Rotate90FlipXY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate90FlipXY
"
,
"
&ring=Rotate180FlipXY
"
);
break
;
case
"
Rotate180FlipXY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate180FlipXY
"
,
"
&ring=Rotate270FlipXY
"
);
break
;
case
"
Rotate270FlipXY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate270FlipXY
"
,
"
&ring=RotateNoneFlipXY
"
);
break
;
case
"
RotateNoneFlipXY
"
:
goUrl
=
goUrl.Replace(
"
&ring=RotateNoneFlipXY
"
,
"
&ring=Rotate90FlipXY
"
);
break
;
}
}
#endregion
urlStr.Value
=
goUrl;
ChangImag();
}
private
void
GoRl_Click(
object
sender, System.Web.UI.ImageClickEventArgs e)
{
//逆时钟
#region
//
逆时钟
string
goUrl
=
urlStr.Value;
int
i
=
goUrl.IndexOf(
"
ring
"
);
if
(i
==-
1
)
{
goUrl
+=
"
&ring=Rotate270FlipNone
"
;
}
else
{
string
donum
=
null
;
for
(
int
j
=
i
+
5
;j
<
goUrl.Length;j
++
)
{
if
(goUrl.Substring(j,
1
)
!=
"
&
"
)
{
donum
+=
goUrl.Substring(j,
1
);
}
else
{
break
;
}
}
switch
(donum)
{
case
"
Rotate90FlipNone
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate90FlipNone
"
,
""
);
break
;
case
"
Rotate180FlipNone
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate180FlipNone
"
,
"
&ring=Rotate90FlipNone
"
);
break
;
case
"
Rotate270FlipNone
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate270FlipNone
"
,
"
&ring=Rotate180FlipNone
"
);
break
;
case
"
RotateNoneFlipX
"
:
goUrl
=
goUrl.Replace(
"
&ring=RotateNoneFlipX
"
,
"
&ring=Rotate90FlipX
"
);
break
;
case
"
Rotate90FlipX
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate90FlipX
"
,
"
&ring=Rotate180FlipX
"
);
break
;
case
"
Rotate180FlipX
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate180FlipX
"
,
"
&ring=Rotate270FlipX
"
);
break
;
case
"
Rotate270FlipX
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate270FlipX
"
,
"
&ring=RotateNoneFlipX
"
);
break
;
case
"
RotateNoneFlipY
"
:
goUrl
=
goUrl.Replace(
"
&ring=RotateNoneFlipY
"
,
"
&ring=Rotate90FlipY
"
);
break
;
case
"
Rotate90FlipY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate90FlipY
"
,
"
&ring=Rotate180FlipY
"
);
break
;
case
"
Rotate180FlipY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate180FlipY
"
,
"
&ring=Rotate270FlipY
"
);
break
;
case
"
Rotate270FlipY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate270FlipY
"
,
"
&ring=RotateNoneFlipY
"
);
break
;
case
"
RotateNoneFlipXY
"
:
goUrl
=
goUrl.Replace(
"
&ring=RotateNoneFlipXY
"
,
"
&ring=Rotate270FlipXY
"
);
break
;
case
"
Rotate90FlipXY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate90FlipXY
"
,
"
&ring=RotateNoneFlipXY
"
);
break
;
case
"
Rotate180FlipXY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate180FlipXY
"
,
"
&ring=Rotate90FlipXY
"
);
break
;
case
"
Rotate270FlipXY
"
:
goUrl
=
goUrl.Replace(
"
&ring=Rotate270FlipXY
"
,
"
&ring=Rotate180FlipXY
"
);
break
;
}
}
#endregion
urlStr.Value
=
goUrl;
ChangImag();
}
private
void
ContCut_Click(
object
sender, System.Web.UI.ImageClickEventArgs e)
{
对比减小
#region
对比减小
string
goUrl
=
urlStr.Value;
int
i
=
goUrl.IndexOf(
"
Contrast
"
);
string
donum
=
null
;
if
(i
==-
1
)
{
goUrl
+=
"
&Contrast=-0.1
"
;
}
else
{
for
(
int
j
=
i
+
9
;j
<
goUrl.Length;j
++
)
{
if
(goUrl.Substring(j,
1
)
!=
"
&
"
)
{
donum
+=
goUrl.Substring(j,
1
);
}
else
{
break
;
}
}
double
brightnum
=
0
;
try
{
brightnum
=
double
.Parse(donum);
}
catch
{
brightnum
=
0
;
}
if
(brightnum
>-
1
&&
brightnum
<=
1
)
{
brightnum
-=
0.1
;
}
goUrl
=
goUrl.Replace(
"
&Contrast=
"
+
donum,
"
&Contrast=
"
+
brightnum.ToString());
}
urlStr.Value
=
goUrl;
ChangImag();
#endregion
}
private
void
ContAdd_Click(
object
sender, System.Web.UI.ImageClickEventArgs e)
{
对比增加
#region
对比增加
string
goUrl
=
urlStr.Value;
int
i
=
goUrl.IndexOf(
"
Contrast
"
);
string
donum
=
null
;
if
(i
==-
1
)
{
goUrl
+=
"
&Contrast=0.1
"
;
}
else
{
for
(
int
j
=
i
+
9
;j
<
goUrl.Length;j
++
)
{
if
(goUrl.Substring(j,
1
)
!=
"
&
"
)
{
donum
+=
goUrl.Substring(j,
1
);
}
else
{
break
;
}
}
double
brightnum
=
0
;
try
{
brightnum
=
double
.Parse(donum);
}
catch
{
brightnum
=
0
;
}
if
(brightnum
>=-
1
&&
brightnum
<
1
)
{
brightnum
+=
0.1
;
}
goUrl
=
goUrl.Replace(
"
&Contrast=
"
+
donum,
"
&Contrast=
"
+
brightnum.ToString());
}
urlStr.Value
=
goUrl;
ChangImag();
#endregion
}
private
void
BrightAdd_Click(
object
sender, System.Web.UI.ImageClickEventArgs e)
{
亮度增加
#region
亮度增加
string
goUrl
=
urlStr.Value;
int
i
=
goUrl.IndexOf(
"
Bright
"
);
string
donum
=
null
;
if
(i
==-
1
)
{
goUrl
+=
"
&Bright=1.1
"
;
}
else
{
for
(
int
j
=
i
+
7
;j
<
goUrl.Length;j
++
)
{
if
(goUrl.Substring(j,
1
)
!=
"
&
"
)
{
donum
+=
goUrl.Substring(j,
1
);
}
else
{
break
;
}
}
double
brightnum
=
1
;
try
{
brightnum
=
double
.Parse(donum);
}
catch
{
brightnum
=
1
;
}
if
(brightnum
>=
0
&&
brightnum
<
3
)
{
brightnum
+=
0.1
;
}
goUrl
=
goUrl.Replace(
"
&Bright=
"
+
donum,
"
&Bright=
"
+
brightnum.ToString());
}
urlStr.Value
=
goUrl;
ChangImag();
#endregion
}
private
void
BrightCut_Click(
object
sender, System.Web.UI.ImageClickEventArgs e)
{
亮度减少
#region
亮度减少
string
goUrl
=
urlStr.Value;
int
i
=
goUrl.IndexOf(
"
Bright
"
);
if
(i
==-
1
)
{
goUrl
+=
"
&Bright=0.9
"
;
}
else
{
string
donum
=
null
;
for
(
int
j
=
i
+
7
;j
<
goUrl.Length;j
++
)
{
if
(goUrl.Substring(j,
1
)
!=
"
&
"
)
{
donum
+=
goUrl.Substring(j,
1
);
}
else
{
break
;
}
}
double
brightnum
=
1
;
try
{
brightnum
=
double
.Parse(donum);
}
catch
{
brightnum
=
1
;
}
if
(brightnum
>
0
&&
brightnum
<=
3
)
{
brightnum
-=
0.1
;
}
goUrl
=
goUrl.Replace(
"
&Bright=
"
+
donum,
"
&Bright=
"
+
brightnum.ToString());
}
urlStr.Value
=
goUrl;
ChangImag();
#endregion
}
查看全文
相关阅读:
poj 图算法
类里二级排序函数使用
数学题目(高斯消元)
多校联合比赛部分题目
poj 3007 & poj 3096
优先队列
hdu 各种 A + B
几道数学题目
今天下午
Java常用的几种设计模式
原文地址:https://www.cnblogs.com/cerxp/p/80870.html
最新文章
hdu 2114
新手笔记linux一些命令
新手笔记简单的排序练习
使用fiddler+proxifier抓PC端的应用
jmeter并发测试如何保证多线程多请求按照顺序执行
TPS和QPS的区别
下载jdk12版本没有jre问题处理
关于java1.8中LocalDateTime实现日期,字符串互转小坑。
MYSQL中 FIND_IN_SET 函数
HTTP中的一些常用术语
热门文章
关于调用strcpy出现strcpy' was not declared in this scope
动态内存分配
Django相关
基于HTTP协议,客户与服务器通信的三种方式
参数按数值传递和按地址传递
HTTP的特点
基于网络层的HTTP交互过程
SQL学习笔记
python WEB编程常用模块
poj 线段树
Copyright © 2011-2022 走看看