用C#写了浏览器不能用鼠标滚轮,怎么用control+鼠标滚轮来实现页面的放大和缩小啊

jquery实现页面图片等比例放大缩小功能
来源:本站原创&
本文将利用jquery实现页面图片等比例放大和缩小。说明: 页面中经常需要将未知大小的图片展示在有限的空间里, 如果直接指定图片的width和height值, 就有可能造成图片走样, 这段代码就是为解决这个问题设计
html代码结构:
&a href=""&&img src="images/tmp_376x470.jpg" width="300" height="300" alt=""/&&/a&
&a href=""&&img src="images/tmp_409x265.jpg" width="300" height="300" alt=""/&&/a&
&a href=""&&img src="images/tmp_572x367.jpg" width="300" height="300" alt=""/&&/a&
a{width:300height:300background:#border:1px solid #666;display:inline-block} /* 这里需要指定a标签的高宽,背景和边框为可选 */
脚本(jquery可自行添加):
$(function () {
var imgs = $('a&img');
imgs.each(function () {
var img = $(this);
var width = img.attr('width');//区域宽度
var height = img.attr('height');//区域高度
var showWidth =//最终显示宽度
var showHeight =//最终显示高度
var ratio = width ///宽高比
img.load(function () {
var imgWidth, imgHeight,
$('&img /&').attr('src', img.attr('src')).load(function () {
imgWidth = this.//图片实际宽度
imgHeight = this.//图片实际高度
imgRatio = imgWidth / imgH//实际宽高比
if (ratio & imgRatio) {
showWidth = height * imgR//调整宽度太小
img.attr('width', showWidth).css('margin-left', (width - showWidth) / 2);
showHeight = width / imgR//调高度太小
img.attr('height', showHeight).css('margin-top', (height - showHeight) / 2);
这样就是实现了图片的等比例放大缩小了。
本文将利用jquery实现页面图片等比例放大和缩小.说明: 页面中经常需要将未知大小的图片展示在有限的空间里, 如果直接指定图片的width和height值, 就有可能造成图片走样, 这段代码就是为解决这个问题设计 html代码结构: &a href=&&&&img src=&images/tmp_376x470.jpg& width=&300& height=&300& alt=&&/&
本篇文章是对利用PHP实现图片等比例放大和缩小的方法进行了详细的分析介绍,需要的朋友参考下 function resizeimage($srcfile,$mySize){ $size=getimagesize($srcfile); switch($size[2]){ case 1: $img=imagecreatefromgif($srcfile); case 2: $img=imagecreatefromjpeg($srcfile); case 3: $img=im
这是一个基于jquery的图片效果,它的作用是:当图片点击变大(变小)时,其它图片按照一定的规则进行排序运动 这是一个基于jquery的图片效果,它的作用是:当图片点击变大(变小)时,其它图片按照一定的规则进行排序运动. 首先来看下最终的效果图: 有人可能看到这个会觉得,这有什么难的,这么简单的事,楼主是不是太小提大作了?当你真正去尝试时,你才知道到底有什么难点. 首先,我们来讲下需求: 1.图片分为大小和小图,大图占四个小图的位置, 2.点击图片放大缩小, 重新排列顺序, 3. 当点击偶数列(
大家都晓得每件商品几乎都有属于自己的条形码!最近在公司做一个项目里面需要用到条形码!经研究非常简单! 利用:jbarcode.jar轻松生成各种条形码 /p/jbarcode http://sourceforge.net/projects/jbcode/ 本人亲手扫描,成功可用! /* 2. * To change this template, choose Tools | Templates 3. * and open the template
很早以前写的一个效果,今天有时间了整理出来 通过 Math.pow(x,y) 的&幂&运算来计算大小图片放大缩小的尺寸 看JS源码: // 放大缩小控制 var PhotoSize = { zoom: 0, // 缩放率 count: 0, // 缩放次数 cpu: 0, // 当前缩放倍数值 elem: &&, // 图片节点 photoWidth: 0, // 图片初始宽度记录 photoHeight: 0, // 图片初始高度记录 init: function
jQuery zoom是一款能够查看相册大图的jQuery弹出层插件,点击相册的缩略图,就会弹出该相片对应的大图,并且带有个性的加载动画,还有上一张下一张按钮以及关闭按钮.使用方法非常简单.兼容IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗等浏览器. 1.介绍 jQuery制作zoom图片全屏放大弹出层插件. 2.使用方法 1.引入以下的js和css文件 &link rel=&stylesheet& href=&css/zo
有时我们会有这样的需求:让图片显示在固定大小的区域.如果不考虑 IE6 完全可以使用 css 的 max-width 限制宽度自动按比例缩小显示,但是这样有个问题,就是如果按比例缩小后,图片高度不够,那么就很难看了 举例来说 第一种情况:如图片大小为 600×350,显示区域大小为 200×140,如果图片根据目标宽度(200)按比例缩放后大小变成 116,那么显示在 200×140 就会很难看.如下图左 第二种情况:刚好相反,如图片大小为400×400,显示区域同样是200×140,如果图片根
开发前期用自动生产 固定大小的图片 进行 显示,发现不能满足,在前期的时候把保存了原图,现在只能显示原图,原图由于上传时候没有做任何限制所有要使用 图片不完全按比例缩小,下面是代码 jQuery(document).ready(function() { /* 图片不完全按比例自动缩小*/ $(window).load(function(){$('#content div.thumbnail img').each(function(){ var x = 200; //填入目标图片宽度 var y
基于jquery的滚动鼠标放大缩小图片效果,需要的朋友可以参考下. 今天要出个鼠标滚动放大缩小图片的功能,看似很简单,从网上一搜,出现的都是onmousewheel的例子,全部只支持IE浏览器,结果查出火狐有对应的DOMMouseScroll来处理这个功能,代码如下,并加上注意的注释项: $(function(){ $(&.body img&).each(function(){ if($.browser.msie){ $(this).bind(&mousewheel&quot
这篇文章主要介绍了通过jquery实现图片按比例缩放,需要的朋友可以参考下 &html& &title&&/title& &head&&/head& &style& .thumbnail{overflow:width:400height:240} &/style& &script src=&/jquery-1.4.1.min.js&quo
jquery 关键字&拖曳搜索&之&拖曳&以及 图片&提示自适应放大&效果 的实现 关键字&拖曳搜索&之&拖曳&功能需要 jQuery UI 之 droppable 库 效果如下: 搜索包含相关关键字时,把拖曳左边关键字到右边框里面 也可以在输入框里输入自定义关键字到下面框 即可搜索 如果去掉不需要的关键词 搜索时 把不需要的关键词从右边框拖曳回到左边 即可 无论原来还是自定义加入的关键词 如果已存在 她会
这篇文章主要介绍了.Net实现上传图片按比例自动缩小或放大的方法,实例内容简洁功能实用,需要的朋友可以参考下 本文实例主要展示了.Net实现上传图片按比例自动缩小或放大的方法,是非常实用的功能.分享给大家供大家参考之用.具体方法如下: //// &summary& /// 按比例缩小图片,自动计算宽度 /// &/summary& /// &param name=&strOldPic&&源图文件名(包括路径)&/param& /// &l
Jquery刷新页面背景图片随机变换的实现方法,需要的朋友可以参考一下 使用方法:下载jquery-1.9.1.js,然后设置CSS,图片文件放在images/new_feed/目录下,图片命名格式为bg_x.jpg,修改随机数产生范围 一.CSS代码 &style& body{ padding:0; background-attachment: background-clip: border- background-color: #666666; background-
这篇文章主要介绍了jQuery在页面加载时动态修改图片尺寸的方法,实例分析了jQuery操作图片的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了jQuery在页面加载时动态修改图片尺寸的方法.分享给大家供大家参考.具体如下: $(window).bind(&load&, function() { // IMAGE RESIZE $('#product_cat_list img').each(function() { var maxWidth = 120; var maxH
jQuery页面图片伴随滚动条逐渐显示的小例子,需要的朋友可以参考一下 &script type=&text/javascript& src=&jquery.min.js&&&/script& &!-- //再载入lazyload --& &script type=&text/javascript& src=&jquery.lazyload.js&&&/script&
放大缩小动画效果实现的方法有很多,下面有个不错的示例,使用CSS+jQuery实现的,感兴趣的朋友可以了解下 今天帮朋友写了一些代码,自己觉得写着写着,好几个版本以后,有点满意,于是就贴出来. 都是定死了的.因为需求就只有4个元素.如果是要用CSS的class来处理,那就需要用到CSS3动画了. 功能 : 在上方的按钮上滑动,可以切换各个page,点击下方的各个page,也可以切换收缩还是展开状态. 初始效果预览 &!DOCTYPE html& &html& &head&gt
因为需求就只有4个元素.如果是要用CSS的class来处理,那就需要用到CSS3动画了,好了下面为大家介绍下如何实现这个放大缩小动画效果 今天帮朋友写了一些代码,自己觉得写着写着,好几个版本以后,有点满意,于是就贴出来. 都是定死了的.因为需求就只有4个元素.如果是要用CSS的class来处理,那就需要用到CSS3动画了. &!DOCTYPE html& &html& &head& &title& CSS+jQuery动画效果 &/title&
这篇文章介绍了JQuery页面图片切换和新闻列表滚动效果的具体实现,有需要的朋友可以参考一下 最近用到一个页面上图片左右切换和新闻列表滚动呈现的效果,整理如下: 前段代码: &!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&& &html xmlns=&quot
这是一个网上比较常用的JS网页图片查看器,可控制图片放大.缩小.还原.移动位置.拖动等操作,并且兼容IE浏览器和FF火狐浏览器,可以用在图片网站.地图网站等 修正了网上其它版本的一些错误.完美无错版 JS网页图片查看器-可控制图片放大缩小还原移动效果 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
图片等比例缩放在某些情况下还是比较事用的,不过max-width和max-height在ie6中不兼容问题很是郁闷,接下来使用jQuery解决这个问题,感兴趣的各位可以参考下哈 上次用原生的JavaScript实现的图片等比例缩放,max-width和max-height在ie6中不兼容问题,今天用jQuery实现了这些问题 jQuery部分代码 &script type=&text/javascript&& $(document).ready(function(){ va1484人阅读
桌面应用(14)
最近在调研arcgis地图,就把一些自己写的基本的操作po一下,希望对刚刚开始接触到arcgis的童鞋有点帮助,大神请指正吐槽。
效果就是这样滴:
引入命名空间:
using ESRI.ArcGIS.Controls
using ESRI.ArcGIS.Analyst3D
using ESRI.ArcGIS.Carto
using ESRI.ArcGIS.GlobeCore
全局变量:
private ISceneViewer m_ActiveV
private ICamera m_C
加载地图:
if (axGlobeControl1.Check3dFile(filePath))
axGlobeControl1.MousePointer = esriControlsMousePointer.esriPointerHourglass
axGlobeControl1.Load3dFile(filePath)
axGlobeControl1.MousePointer = esriControlsMousePointer.esriPointerDefault
MessageBox.Show(filePath + "不是有效的地图文件")
this.MouseWheel += new System.Windows.Forms.MouseEventHandler(axGlobeControl1_OnMouseWheel)
鼠标滚动放大缩小事件:
private void axGlobeControl1_OnMouseWheel(object sender, MouseEventArgs e)
//将axGlobeControl1相对于软件的坐标,变换成屏幕坐标
System.Drawing.Point pSceLoc = axGlobeControl1.PointToScreen(axGlobeControl1.Location)
//将鼠标所在位置坐标变换成屏幕坐标
System.Drawing.Point Pt = this.PointToScreen(e.Location)
//判断鼠标是否在屏幕外,如果是返回,无操作
if (Pt.X & pSceLoc.X || Pt.X & pSceLoc.X + axGlobeControl1.Width || Pt.Y & pSceLoc.Y || Pt.Y & pSceLoc.Y + axGlobeControl1.Height)
double scale = 0.2
if (e.Delta & 0) scale = -scale
IGlobeCamera pGlobeCamera = axGlobeControl1.GlobeCamera
ICamera pCamera = pGlobeCamera as ICamera
IGlobeDisplay pGlobeDisplay = axGlobeControl1.GlobeDisplay
if (pGlobeCamera.OrientationMode == esriGlobeCameraOrientationMode.esriGlobeCameraOrientationGlobal)
double xo, yo, zo
pGlobeCamera.GetObserverLatLonAlt(out xo, out yo, out zo)
zo = zo * (1 + scale)
pGlobeCamera.SetObserverLatLonAlt(xo, yo, zo)
pCamera.ViewingDistance += pCamera.ViewingDistance * scale
axGlobeControl1.GlobeDisplay.RefreshViewers()
radial菜单实现几个功能:
需要注意,地图是默认没有开启漫游的,所以需要axGlobeControl1.Navigate = true。
switch (item.Text)
case "漫游" :
axGlobeControl1.Navigate = true;
case "放大":
double vfa = m_Camera.ViewFieldA
m_Camera.ViewFieldAngle = vfa * 0.9;
m_ActiveView.Redraw(false);
case "缩小":
double vfa1 = m_Camera.ViewFieldA
m_Camera.ViewFieldAngle = vfa1 * 1.1;
m_ActiveView.Redraw(false);
case "3D":
axGlobeControl1.Navigate = true;
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:22751次
排名:千里之外
原创:14篇
评论:13条
(1)(4)(6)(4)(2)2894人阅读
对于一个图片查看器来说,鼠标拖动和滚动缩放也就是说可以鼠标在程序界面上拖动图片,通过鼠标滚轮放大和缩小图片。这两种功能在图片浏览程序里面再普通不过了。那怎么用C#来进行实现。
通过操作你也知道,缩放的时候,我们首先第一个动作就是按下鼠标左键,也就是MouseDown;然后移动鼠标,将图片拖动到你想要的位置, 也就是MouseMove;最后释放鼠标,完成拖动操作,即MouseUp。通过这个分析,我们已经知道了, 如果要实现这个拖动的功能,那就得监听鼠标的这三个事件,即MouseDown、MouseMove和MouseUp。
当MouseDown事件发生的时候, 我们首先要做的是判断是不是左单击即
if (e.Button == MouseButtons.Left)
然后将此时的鼠标的移动前位置记录记录下来并将标识器至true(我要移动了),事件完整的代码如下:
private void picBox_MouseDown(object sender, MouseEventArgs e)
if (e.Button == MouseButtons.Left)
mouseDownPoint.X = Cursor.Position.X;
//注:全局变量mouseDownPoint前面已定义为Point类型
mouseDownPoint.Y = Cursor.Position.Y;
isSelected =
好了,现在我们已经完成了MouseDown事件的实现
接下来将是移动--MouseMove
拖动的原理我们应该也知道,就是改变PictureBox的left和top属性来实现PictureBox的移动,left和top的增减就是鼠标移动的距离。即
this.picBox.Left = this.picBox.Left + (Cursor.Position.X - mouseDownPoint.X);
this.picBox.Top = this.picBox.Top + (Cursor.Position.Y - mouseDownPoint.Y);
并记录新鼠标的位置,完整的代码如下:
private void picBox_MouseMove(object sender, MouseEventArgs e)
if (isSelected && IsMouseInPanel())
this.picBox.Left = this.picBox.Left +(Cursor.Position.X - mouseDownPoint.X);
this.picBox.Top = this.picBox.Top +(Cursor.Position.Y - mouseDownPoint.Y);
mouseDownPoint.X = Cursor.Position.X;
mouseDownPoint.Y = Cursor.Position.Y;
其中的IsMouseInPanel()作用为判断鼠标的位置是否已经超出操作的界面
private bool IsMouseInPanel()
if (this.pan_picture.Left & PointToClient(Cursor.Position).X
&& PointToClient(Cursor.Position).X & this.pan_picture.Left + this.pan_picture.Width
&& this.pan_picture.Top & PointToClient(Cursor.Position).Y
&& PointToClient(Cursor.Position).Y & this.pan_picture.Top + this.pan_picture.Height)
如果你需要将图片限制在容器中,那你就要为此增加判断条件了:
public static void picMoveNotOut(PictureBox picBox, Point mouseDownPoint)
int right,
int differentX = Cursor.Position.X - mouseDownPoint.X;
int differentY = Cursor.Position.Y - mouseDownPoint.Y;
int want2Lef = picBox.Left + differentX;
int want2Top = picBox.Top + differentY;
right = picBox.Parent.Width - (picBox.Right + differentX);
bottom = picBox.Parent.Height - (picBox.Bottom + differentY);
if (want2Lef & 0) want2Lef = picBox.L
if (want2Top & 0) want2Top = picBox.T
if (right & 0 && differentX & 0) want2Lef = picBox.L
if (bottom & 0 && differentY & 0) want2Top = picBox.T
picBox.Left = want2L
picBox.Top = want2T
好了,接下来就是MoveUp,释放掉移动操作,代码如下:
private void picBox_MouseUp(object sender, MouseEventArgs e)
isSelected =
现在,拖动到这里就完成了。
下面我们再来说说怎么实现滚动缩放:
滚动,用到的事件,不用我说,你也知道,正是MouseWheel。
缩放我们可以这样来实现:
首先我们要做的就是取得新图片分辨率的宽(w)和高(h)。新的宽高,我们可以通过加减一个增减单位(zoom)来决定,一次滚动鼠标中键就是一次加减运算(zoom的大小由你来定)。剩下的就是重新绘制新图了, 你可以直接用Bitmap来实现, 也可以通过Graphics来绘制。
我的MouseWheel事件代码如下:
private void picBox_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
int numberOfTextLinesToMove=0;
numberOfTextLinesToMove=e.Delta *SystemInformation.MouseWheelScrollLines/120;
if(toolStripComboBox1.Text.Trim()!=&启用缩放&)numberOfTextLinesToMove=0;
if (numberOfTextLinesToMove & 0)
for (int i = 0; i & numberOfTextLinesToM i++)
zoomtime++;
OperateClass.maxMin(picBox, img_ori, zoomtime);
else if (numberOfTextLinesToMove & 0)
for (int i = 0; i & numberOfTextLinesToM i--)
zoomtime--;
OperateClass.maxMin(picBox, img_ori, zoomtime);
因为我的操作都是直接通过原图来进行缩放的, 所以用一个zoomtime来记录缩放的次数。
具体源代码:()
&在我的OperaClass中对于缩放的操作定义了三种方法(更严格来说是两种),虽说不是很完善,仅放出供大家参考。
(好了,第一篇博文,完成!)
转载请注明作者及本文地址:
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:13646次
排名:千里之外
原创:18篇
(2)(14)(1)(2)

我要回帖

更多关于 浏览器不能用鼠标滚轮 的文章

 

随机推荐