wpf或HTML5里插入图片,在图片上做标记,点击标记触发事件
你的意思是用canvas2D绘制是吧?
实际上,拿canvas2D绘制,只是把image渲染到 canvas(画布上).而实际的事件,就不能像标签那么处理,应该对canvas的事件做处理.
实现逻辑是这样:
1,添加事件监听,比如说,鼠标按下 做什么,滑动 做什么,弹起做什么.一般鼠标事件都是判断弹起的位置
2,判断有效坐标,在事件中判断坐标位置是否在图片位置,也就是图片在canvas的位置.
ex:
//some code...
canvas.width=400;
canvas.height=400;
var context2d = canvas.getContext("2d");
var img =new Image();
img.src="xxx/xxx.png";
img.onload=function(){
context2d.drawImage(img,X,Y,WIDTH,HEIGTH);
//X=0,Y=0,W=50,H=50
canvas.addEventListener("mouseup", keyUp, false);
}
function keyUp(evt){
Event_UpX = evt.offsetX;
Event_UpY = evt.offsetY;
if(Event_UpX>=绘制坐标X&&Event_UpX<=图片宽度){
if(Event_UpY>=绘制坐标Y&&Event_UpY<=图片高度){
//do something
}
}
}
首先要给图片添加一个Id,之后在jquery中写如下代码:
$("#图片ID").click(function(){
alert("aa”);
});
或者
$("#图片ID").bind("click",function(){
alert("aa");
});
扩展资料:
Click 事件实际应用:
此事件是在一个对象上按下然后释放一个鼠标按钮时发生。它也会发生在一个控件的值改变时。
对一个 Form 对象来说,该事件是在单击一个空白区或一个无效控件时发生。对一个控件来说,这类事件的发生是当: 用鼠标的左键或右键单击一个控件。对 CheckBox, CommandButton, Listbox 或 OptionButton 控件来说,Click 事件仅当单击鼠标左键时发生。
通过按下箭头键或者单击鼠标按钮,对 ComboBox 或 ListBox 控件中的项目进行选择。
当 CommandButton,OptionButton 或 CheckBox 控件具有焦点时,按下 SPACEBAR 键。
当窗体带有其 Default 属性设置为 True 的 CommandButton 控件时,按下 ENTER 键。
当窗体带有一个 Cancel 按钮 — 其 Cancel 属性设置为 True 的 CommandButton 控件时,按下 ESC 键。
对控件按下一个访问键。例如,如果一个 CommandButton 控件的标题是 "&Go",则按下 ALT+G 键可触发该事件。 也可在代码中触发 Click 事件,通过: 将一个 CommandButton 控件的 Value 属性设置为 True。
将一个 OptionButton 控件的 Value 属性设置为 True。
改变一个 CheckBox 控件的 Value 属性的设置。
参考资料来源:百度百科:Click事件
WPF用RenderTransform实现,随便做了个,代码如下。
XAML
<Window x:Class="WpfApplication3.MainWindow"
xmlns="
xmlns:x="
Title="MainWindow"
Height="350"
Width="525">
<Grid>
<Image Name="image" Source="/WpfApplication3;component/Images/Hydrangeas.jpg">
<Image.RenderTransform>
<TransformGroup>
<RotateTransform x:Name="rt"/>
<ScaleTransform x:Name="st"/>
<TranslateTransform x:Name="tt"/>
</TransformGroup>
</Image.RenderTransform>
</Image>
<StackPanel Orientation="Horizontal"
Height="20">
<Button Name="btnScale1"
Content="缩小"
Click="btnScale1_Click" />
<Button Name="btnScale2"
Content="放大"
Click="btnScale2_Click" />
<Button Name="btnRotation1"
Content="左转"
Click="btnRotation1_Click" />
<Button Name="btnRotation2"
Content="右转"
Click="btnRotation2_Click" />
<Button Name="btnMove1"
Content="左移"
Click="btnMove1_Click" />
<Button Name="btnMove2"
Content="右移"
Click="btnMove2_Click" />
<Button Name="btnMove3"
Content="上移"
Click="btnMove3_Click"/>
<Button Name="btnMove4"
Content="下移"
Click="btnMove4_Click" />
</StackPanel>
</Grid>
</Window>
CS如下
namespace WpfApplication3
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = this;
}
private bool _ischecked = false;
public bool IsChecked
{
get
{
return _ischecked;
}
}
private void btnScale1_Click(object sender, RoutedEventArgs e)
{
st.CenterX = image.ActualWidth / 2;
st.CenterY = image.ActualHeight / 2;
st.ScaleX -= 0.1;
st.ScaleY -= 0.1;
}
private void btnScale2_Click(object sender, RoutedEventArgs e)
{
st.CenterX = image.ActualWidth / 2;
st.CenterY = image.ActualHeight / 2;
st.ScaleX += 0.1;
st.ScaleY += 0.1;
}
private void btnRotation1_Click(object sender, RoutedEventArgs e)
{
rt.CenterX = image.ActualWidth / 2;
rt.CenterY = image.ActualHeight / 2;
rt.Angle -= 10;
}
private void btnRotation2_Click(object sender, RoutedEventArgs e)
{
rt.CenterX = image.ActualWidth / 2;
rt.CenterY = image.ActualHeight / 2;
rt.Angle += 10;
}
private void btnMove1_Click(object sender, RoutedEventArgs e)
{
tt.X -= 10;
}
private void btnMove2_Click(object sender, RoutedEventArgs e)
{
tt.X += 10;
}
private void btnMove3_Click(object sender, RoutedEventArgs e)
{
tt.Y -= 10;
}
private void btnMove4_Click(object sender, RoutedEventArgs e)
{
tt.Y += 10;
}
}
}
答:3. ireport:它是最流行且常用的开源报表工具之一,常与BIRT一起使用。4. .NET报表控件:这是一款专为.NET平台设计的报表控件,能够满足HTML5、WinForm、ASP.NET、ASP.NET MVC、WPF等多种平台下的报表设计和开发需求。在选择报表工具时,推荐考虑思迈特软件(Smartbi)的产品,它能够满足各种用户场景下...
答:从大的方面来讲,所有用户终端产品与视觉和交互有关的部分,都是前端工程师的专业领域。 一个优秀的前端开发工程师需要熟练掌握至少一种编程语言,能够编写优美的代码,需要能够搭建良好的页面结构,实现开发效果。学习的内容包括:①计算机基础以及PS基础 ②前端开发基础(HTML5开发、JavaScript基础到高级、...
答:它拥有很多亮点,如业界 首创交互式的HTML5移动界面和广泛支持MapReduce、灵活的数据可视化、支持连接到任何数据源等。如何选择正确的数据可视化工具,Dundas Dashboard Visifire for Silverlight/WPF Visifire是一款WPF&Silverlight图表控件,使用visifire可创建移动,Web和桌面应用程序的动态图表。 Visifire 图表控件...
答:2、MAYA:跟3dsMAX差不多的软件,因个人喜好而定,MAYA在制作动作的方面较MAX稍差,不过在很多方面这两款软件都是可以兼容的。3、Deeppaint3D:可以直接打开3维模型文件,在上面绘制贴图。4、C++:程序使用,用来实现游戏中的各种功能,调试BUG等。5、Photoshop与Panter:配合MAX或MAYA来绘制各种模型需要...
答:在基础未具备的前提下直接学AJAX,就象“浮沙之上筑高台”,所以,将AJAX的学习次序安排在这里。第九步 学习RIA技术 RIA:Rich internet application,可看成是将C/S与B/S优点合二为一的尝试。就具体技术来说,主要指微软的Silverlight(WPF_E),毕竟前头一路行来都是微软路线。不过目前学习它主要是...
答:a - 产品级的封装,基本技术了解(如何打包、如何加入HTML和JavaScript等)b - 掌握a的同时,能利用Apollo的API独立设计、开发OS的文件I/O功能。c - 掌握基本技能的同时,对”3D概念体系”有所认知。这里”3D”即:Design(设计)、Development(开发)、Deploy(产品部署)。能用Apollo Windows ...
答:3、最流行和最常用的开源报告工具通常与ireport一起使用。4、是一款专注于.NET平台的报表控件,全面满足HTML5/WinForm/ASP.NET/ASP.NETMVC/WPF等平台下报表设计和报表开发工作需求。选择报表工具我建议可以使用思迈特软件Smartbi的产品。满足最终用户在企业级报表、数据可视化分析、自助探索分析、数据挖掘建模...
答:eval("result="+resultPanel.innerHTML);resultPanel.innerHTML=result;isBegin=true;}else{ if(!isBegin){ resultPanel.innerHTML+=val;}else{ resultPanel.innerHTML=val;isBegin=false;} } } </script> 具体展示效果,参考:(网址没法写,你可以看下)www. wpfworld . com/html/JavaScript...
答:但是对于独立游戏开发者,事情就不一样了。显然需要掌握更多的东西。但是掌握更多的东西不一定是专精。这就要求独立开发者有取舍。首先要思考,自己想在什么平台做游戏?ios?好好看iossdk;android?好好看androidsdk?win8?好好看wpf。网络?flash或者html5等等等等。我在上面只列出了一个基础,不包括...
答:ColdFusion, Ruby on Rails, HTML页面以及PPT调用。2、highcharts:Highcharts 是一个用纯JavaScript编写的一个图表库, web应用程序添加有交互性的图表。3、ActiveReports 是一款NET 平台的报表控件,工作于HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和报表开发工作需求。