精华内容
下载资源
问答
  • 做一个首页调用图像,有时需要获得固定大小图像,因为首页图像位置通常由设计人员指定好了,如果是做最新发布图像调用,因为知道客户会上传什么比例图像,所以,有时候也就没有办法确定图像比例,前台页面...

    这次给大家带来php裁剪图片为固定大小步骤详解,php裁剪图片为固定大小的注意事项有哪些,下面就是实战案例,一起来看一下。

    做一个首页调用图像,有时需要获得固定大小的图像,因为首页的图像位置通常由设计人员指定好了,如果是做最新发布图像调用,因为不知道客户会上传什么比例的图像,所以,有时候也就没有办法确定图像的比例,前台页面编写人员通常会采用固定 img 元素高宽的办法来达到控制图像不溢出,但如果图像的比例不是需要的比例,就会造成图像调用后变形,很大程度上影响了页面的美观,有解决的方法是,按照原图比例进行缩放,缩放后的图像难免会有空白,空白处填以颜色,这样虽然图像不变形了,但这样会有很多问题,比如,如果用户发一个图像很高但宽度一般的图像,如果压缩成一个1:1的图像,那么压缩后基本就会看不到图像了。

    解决办法,任意图像裁剪成固定大小,图像不变形,空白处拉伸填充,图像始终铺满,不留空白,用过bcastr的朋友应该知道,bcastr就是保证了图像调用的不变形,对一个固定大小输出的图像框,源图有以下几种情况:

    1:需要输出的图像的高宽比源图的高宽都小,写成判断 $new_width

    2:需要输出的图像的高宽比原图的高宽都大,写成判断 $new_width>$src_width && $new_height>$src_width

    3:排除第1,2两种,即一边放大,一边缩小的情况加上等于的判断

    对于1,2,函数处理代码完全相同,所以可以归纳成一个处理语句<?php

    /*

    *说明:函数功能是把一个图像裁剪为任意大小的图像,图像不变形

    * 参数说明:输入 需要处理图片的 文件名,生成新图片的保存文件名,生成新图片的宽,生成新图片的高

    * written by smallchicken

    * time 2008-12-18

    */

    // 获得任意大小图像,不足地方拉伸,不产生变形,不留下空白

    function my_image_resize($src_file, $dst_file , $new_width , $new_height) {

    if($new_width <1 || $new_height <1) {

    echo "params width or height error !";

    exit();

    }

    if(!

    file_exists

    ($src_file)) {

    echo $src_file . " is not exists !";

    exit();

    }

    // 图像类型

    $type=exif_imagetype($src_file);

    $support_type=array(IMAGETYPE_JPEG , IMAGETYPE_PNG , IMAGETYPE_GIF);

    if(!in_array($type, $support_type,true)) {

    echo "this type of image does not support! only support jpg , gif or png";

    exit();

    }

    //Load image

    switch($type) {

    case IMAGETYPE_JPEG :

    $src_img=imagecreatefromjpeg($src_file);

    break;

    case IMAGETYPE_PNG :

    $src_img=imagecreatefrompng($src_file);

    break;

    case IMAGETYPE_GIF :

    $src_img=imagecreatefromgif($src_file);

    break;

    default:

    echo "Load image error!";

    exit();

    }

    $w=imagesx($src_img);

    $h=imagesy($src_img);

    $ratio_w=1.0 * $new_width / $w;

    $ratio_h=1.0 * $new_height / $h;

    $ratio=1.0;

    // 生成的图像的高宽比原来的都小,或都大 ,原则是 取大比例放大,取大比例缩小(缩小的比例就比较小了)

    if( ($ratio_w < 1 && $ratio_h < 1) || ($ratio_w > 1 && $ratio_h > 1)) {

    if($ratio_w < $ratio_h) {

    $ratio = $ratio_h ; // 情况一,宽度的比例比高度方向的小,按照高度的比例标准来裁剪或放大

    }else {

    $ratio = $ratio_w ;

    }

    // 定义一个中间的临时图像,该图像的宽高比 正好满足目标要求

    $inter_w=(int)($new_width / $ratio);

    $inter_h=(int) ($new_height / $ratio);

    $inter_img=imagecreatetruecolor($inter_w , $inter_h);

    imagecopy($inter_img, $src_img, 0,0,0,0,$inter_w,$inter_h);

    // 生成一个以最大边长度为大小的是目标图像$ratio比例的临时图像

    // 定义一个新的图像

    $new_img=imagecreatetruecolor($new_width,$new_height);

    imagecopyresampled($new_img,$inter_img,0,0,0,0,$new_width,$new_height,$inter_w,$inter_h);

    switch($type) {

    case IMAGETYPE_JPEG :

    imagejpeg($new_img, $dst_file,100); // 存储图像

    break;

    case IMAGETYPE_PNG :

    imagepng($new_img,$dst_file,100);

    break;

    case IMAGETYPE_GIF :

    imagegif($new_img,$dst_file,100);

    break;

    default:

    break;

    }

    } // end if 1

    // 2 目标图像 的一个边大于原图,一个边小于原图 ,先放大平普图像,然后裁剪

    // =if( ($ratio_w < 1 && $ratio_h > 1) || ($ratio_w >1 && $ratio_h <1) )

    else{

    $ratio=$ratio_h>$ratio_w? $ratio_h : $ratio_w; //取比例大的那个值

    // 定义一个中间的大图像,该图像的高或宽和目标图像相等,然后对原图放大

    $inter_w=(int)($w * $ratio);

    $inter_h=(int) ($h * $ratio);

    $inter_img=imagecreatetruecolor($inter_w , $inter_h);

    //将原图缩放比例后裁剪

    imagecopyresampled($inter_img,$src_img,0,0,0,0,$inter_w,$inter_h,$w,$h);

    // 定义一个新的图像

    $new_img=imagecreatetruecolor($new_width,$new_height);

    imagecopy($new_img, $inter_img, 0,0,0,0,$new_width,$new_height);

    switch($type) {

    case IMAGETYPE_JPEG :

    imagejpeg($new_img, $dst_file,100); // 存储图像

    break;

    case IMAGETYPE_PNG :

    imagepng($new_img,$dst_file,100);

    break;

    case IMAGETYPE_GIF :

    imagegif($new_img,$dst_file,100);

    break;

    default:

    break;

    }

    }// if3

    }// end function

    ?>

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    展开全文
  • 前言:工程应用中时常用到视觉定位,比如电路...由于环境存在误差,对图片不能千篇一律按照固定位置解析,总是存在一定角度倾斜,所以解析图片前,先进行视觉定位是必须要做一步。本文通过OpenCV 开源图像库实

    前言:工程应用中时常用到视觉定位,比如电路板上都会预留一个定位点,便于设备识别坐标位置,便于SMT机器判断该将电子元器件贴到哪个位置。对于摄像头测试也是如此,测试手机或平板摄像头,通常会选一张固定的图纸,然后根据所拍摄的图片进行分析。由于环境存在误差,对图片不能千篇一律的按照固定位置解析,总是存在一定的角度倾斜,所以解析图片前,先进行视觉定位是必须要做的一步。本文通过OpenCV 开源图像库实现圆形的坐标定位来示例计算机视觉在工程中的实际应用。

    方法/步骤

    1

    准备一张示例图片,如图示,图片中存在方形,多变形,不规则图形,圆形,且颜色各异。 下面介绍如何定位图中的两个圆。此图片大家可以使用windows自带的小画家来画,注意画圆的时候按shift键可以画出正圆。

    如何使用OpenCV实现基于标记的定位










    2

    引用OpenCV 头文件和库文件,并且包含vector, 后面要用到。

    #include <opencv2/highgui/highgui.hpp>

    #include <opencv2/imgproc/imgproc.hpp>

    #include <iostream>

    #include <stdio.h>

    #include <vector>

    #include <math.h>

    #pragma comment (lib,"opencv_core244d.lib")

    #pragma comment (lib,"opencv_highgui244d.lib")

    #pragma comment (lib,"opencv_imgproc244d.lib")

    using namespace std;

    using namespace cv;


    3

    加载待处理图片,为了便于显示,对图片进行缩放,其实缩放这个小技巧还可以提高后续的处理速度。然后对图片进行灰度处理,然后对图片记性二值化处理,去掉饱和度较低的部分,利用HoughCircles函数,提取轮廓为圆的部分。

    注意调整HoughCirles函数的几个参数,可以抓到不同的结果,要耐心根据实际情况调整。

    Mat resized;

    resize(src,resized,Size(src.cols/ratio,src.rows/ratio));

    int w=resized.size().width;

    int h=resized.size().height;

    Mat gray;

    cvtColor(resized,gray,CV_BGR2GRAY);

    blur(gray,gray,Size(3,3));

    threshold(gray,gray,160,255,THRESH_BINARY_INV);

    blur(gray,gray,Size(3,3));

    vector<Vec3f> circles;

    HoughCircles(gray,circles,CV_HOUGH_GRADIENT,2,h/4,25,100,h/32,h/8);

    vector<Vec3f>::const_iterator it=circles.begin();

    while(it!=circles.end())

    {

    circle(resized,Point((*it)[0],(*it)[1]),2,Scalar(0,0,255),2);

    circle(resized,Point((*it)[0],(*it)[1]),(*it)[2],Scalar(0,0,255),2);

    ++it;

    }

    namedWindow("src");

    imshow("src",resized);

    namedWindow("resized");

    imshow("resized",gray);

    waitKey(0);





















    4代码解读:

    使用HoughCircles必须注意,传入的第一个参数必须是灰度图,根据需要设置其参数,参数2 :累加器分辨率, 参数3: 两个圆之间的最小距离,参数4:Canny 高阀值,参数5:最小投票数,参数6,7:最小,最大半径。

    函数抓取的圆保存到向量circles中, Vec3f 是个3个变量的结构体Vec3f[0] ,Vec3f[1] 对应圆心坐标值,Vec3f[2] 对应圆心半径。 

    为了显示结果, 使用circle函数画出圆心和圆,颜色使用红色。


    5

    但是摄像头拍照不比电脑作图,实际拍照会受光照条件和强度的影响,导致抓取结果偏差很大。 如下图,实际拍摄的图可能有阴影投射,灰度处理后影响值得抓取。使用上述代码,却抓到了7个圆,实际只需要左右2个,所以可以根据坐标将不需要的过滤掉。

    如何使用OpenCV实现基于标记的定位
    如何使用OpenCV实现基于标记的定位




























    6

    实际基于标记的坐标定位也可使用如下的图形进行实现,该图解析出来后不但能够识别坐标,还可判断方向,实际开发中,下图会转化为海明码进行分析。

    以上,如帮到读者,请投宝贵一票,谢谢。

    如何使用OpenCV实现基于标记的定位

    展开全文
  • 无论你现在上传什么的图片,首先我们将底图固定(比如110*110),然后你的图片可能是1000*800,或是200*300,都将第二张图片向110*110图片中写入,根据比例计算好位置,这样就保证了上传的图片最后不会被截图...

    要用到一个图片生成的代码,网上找了下,有一个C#版本的,不是自己想要的,不过他描述的逻辑是和想的。最后自己考虑用两张图片合并后得到一个规定大小的图片。

    无论你现在上传什么样的图片,首先我们将底图固定(比如为110*110),然后你的图片可能是1000*800,或是200*300,都将第二张图片向110*110图片中写入,根据比例计算好位置,这样就保证了上传的图片最后不会被截图并且生成了一张适合前端显示的图片。


    看代码吧,有用的人就拿去,效率上还有待改进:





    
    
    <pre class="java" name="code">
    
    
    
    
    
    
      
        /**
         * 生成一张指定大小和路径和透明背景图片
         * @param transparentWidth
         * @param transparentHeight
         * @param toPath
         * @throws IOException
         */
    	private synchronized static void drawTransparent(int transparentWidth,
    			int transparentHeight, String toPath) throws IOException {
    		int width = transparentWidth;
    		int height = transparentHeight;
    		BufferedImage image = new BufferedImage(width, height,
    				BufferedImage.TYPE_INT_RGB);
    		Graphics2D g2d = image.createGraphics();
    		image = g2d.getDeviceConfiguration().createCompatibleImage(width,
    				height, Transparency.TRANSLUCENT);
    		g2d.dispose();
    		g2d = image.createGraphics();
    		g2d.setStroke(new BasicStroke(1));
    		// 释放对象
    		g2d.dispose();
    		// 保存文件
    
    		ImageIO.write(image, "png", new File(toPath));
    		
    	}
    
    
    /**
    	 * 生成缩略图-指定长或者宽的最大值来压缩图片 
    	 * @param transparentPath:指定的画布大小,是一个指定大小的透明背景图片
    	 * @param srcImgPath:源图片路径 
    	 * @param outImgPath  :输出的压缩图片的路径 
    	 * @param maxLength :长或者宽的最大值 
    	 * @throws IOException
    	 */
        public synchronized static void createThumbnailImg(int transparentWidth,int transparentheight,String transparentPath,String srcImgPath, String outImgPath,  
    			int maxLength) throws IOException {
    
        	String transPath=transparentPath +File.separator+transparentWidth+"_"+transparentheight+".png";
        	//如果透明背景图存在则不处理
        	if(!(new File(transPath).exists()))
    		{
        	drawTransparent(transparentWidth,transparentheight,transPath);
    		}
        	
        	
    		BufferedImage src = null;
    		InputStream is = null;
    		InputStream is2 = null;
    		//OutputStream os = null;
    
    		 BufferedImage transparentImage = null;
    		 
    		try {
    			//读入底图
    			is = new FileInputStream(transPath);
    			//读入源图片
    			is2 = new FileInputStream(srcImgPath);
    			
    			//缓存
    			transparentImage=javax.imageio.ImageIO.read(is);
    			src = javax.imageio.ImageIO.read(is2);
    			
    			//源图片不空才处理
    			if (null != src)
    			{
    				// 得到源图宽
    				int old_w = src.getWidth();
    				
    				// 得到源图长
    				int old_h = src.getHeight();
    				
    				// 新图的宽
    				int new_w = 0;
    				
    				// 新图的长
    				int new_h = 0;
    				
    				// 根据图片尺寸压缩比得到新图的尺寸
    				//如果是宽比高大,则以宽为目标对象进行缩放 
    				//即宽值固定,高度缩放的比例=maxLength/源图宽
    				//maxLength大,则为放大,maxLength小则为缩小
    				if (old_w > old_h) {
    					// 图片要缩放的比例
    					new_w = maxLength;
    					new_h = (int) Math.round(old_h
    							* ((float) maxLength / old_w));
    				} else {
    					new_w = (int) Math.round(old_w
    							* ((float) maxLength / old_h));
    					new_h = maxLength;
    				}
    
    				// 生成新图
    				BufferedImage newImg = null;
    				// 判断输入图片的类型
    				System.out.print("src.getType():" + src.getType());
    				switch (src.getType()) {
    				case 13:
    					// png,gif
    					newImg = new BufferedImage(new_w, new_h, BufferedImage.TYPE_4BYTE_ABGR);
    					break;
    				default:
    					newImg = new BufferedImage(new_w, new_h,
    							BufferedImage.TYPE_INT_RGB);
    					break;
    				}
    				Graphics2D g2d = newImg.createGraphics();
    
    				g2d.getDeviceConfiguration().createCompatibleImage(new_w,
    						new_h, Transparency.TRANSLUCENT);
    				// 从原图上取颜色绘制新图
    				g2d.drawImage(src, 0, 0, old_w, old_h, null);
    				g2d.dispose();
    				// 根据图片尺寸压缩比得到新图的尺寸
    				newImg.getGraphics()
    						.drawImage(
    								src.getScaledInstance(new_w, new_h,
    										Image.SCALE_SMOOTH), 0, 0, null);
    
    				//========================到此处新图处理完成=============================
    				//========================现在开始做底图与新图的合并=====================
    				// 底图
    				BufferedImage image = transparentImage;
    				// 要添加的图片
    				BufferedImage image2 = newImg;
    				// 得到底图当画布
    				Graphics g = image.getGraphics();
    				// 开始绘制
    				// 绘入的是要添加的图,具体添加的位置是
    				// 底图宽取2分之1减去要增的图宽取2分之1处为X坐标
    				// 底图长取2分之1减去要增的图长取2分之1处为Y坐标
    				// ---------------
    				// | __________  |
    				// | |         | |
    				// | |         | |
    				// | |_________| |
    				// |             |
    				// ---------------
    				// 在组件区域的左上角(image.getWidth()/2-image2.getWidth()/2,image.getHeight()/2-image2.getHeight()/2)以原始大小显示一个图像
    				g.drawImage(image2, image.getWidth() / 2 - image2.getWidth()/ 2, 
    						            image.getHeight() / 2 - image2.getHeight() / 2,
    						    null);
    
    				// 输出
    
    				File file = new File(outImgPath);
    
    				if (!file.exists()) {
    					file.mkdirs();
    				}
    				//if (!file.getParentFile().exists()) {
    				//	file.getParentFile().mkdir();
    				//}
    				// 输出到文件流
    
    				System.out
    						.println("outImgPath"
    								+ outImgPath.substring(outImgPath
    										.lastIndexOf(".") + 1));
    
    				ImageIO.write(image, "png", new File(outImgPath));
    
    			}
    		} catch (FileNotFoundException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			if (is != null) {
    				is.close();
    			}
    
    			if (is2 != null) {
    				is2.close();
    			}
    		}
    	}
        	 
    

    
    
    
    展开全文
  • 目标:让中国大学生走出校门那一刻就已经具备这些office技能,让职场人士能高效使用office其服务。...因为嵌入型图片相当于一个大字符,位置比较固定,在不同版本中查看时文档版式容易改...

    我的目标:让中国的大学生走出校门的那一刻就已经具备这些office技能,让职场人士能高效使用office为其服务。支持鹏哥,也为自己加油!

    通过前面几节课的讲解,我们清楚了Word中嵌入型的图片是不能按Ctrl键依次选中的,同时用查找“^g”也无法全部选中。那为什么Word软件还默认插入的图片为嵌入型的呢?因为嵌入型图片相当于一个大的字符,位置比较固定,在不同版本中查看时文档的版式不容易改变,其它类型的插入方式发给别人查看时,如果Word版本不同,很可能会出现排版错乱的情况。如果客户要求把一个产品文档中上百张图片全部加边框,而且这些图片都是嵌入型的,那该怎么办呢?这个时候利用VBA可以轻松搞定:代码如下:c5b118edbd8f107b8a201338d74373b5.png只要理解,Word中的图片属于InlineShape对象,很多图片的集合就是InlineShapes,利用索引号可以从此集合中取出每一张图片,后面加边框的部分就比较简单了!

    加边框前每张图片的边框如下:

    7f2e817397abea26e6d99fee0897a059.png

    运行代码后,图片边框如下:

    ab9a5aed9c52bfd4b1daa187e70f4a45.png

    本节的分享就到这里,祝大家每天都有进步。

    1

    在线课堂在逐渐完善中,欢迎您的光临!

    ea4963a25f93493b395274fd39ed3024.png

    b25099b8d10b0b793651a712d7b2b9e3.gif

    点击下方“”即可进入云课堂学习!

    展开全文
  • #qrcodebar{/*包裹二维码div,暂时知道为什么这么做*/ display: inline-block; } #qrcode-img{/*二维码图*/ background: url...
  • 通过background-position来改变背景图片的位置,从而显示出我们想要显示出来的部分。 过渡: 2D转换缩放: 2D位移: 绝对定位居中: 不用margin来进行居中,通过固定定位将上下左右位置都设置50%就可实现 倾斜...
  • 实现瀑布流加载图片

    2020-06-21 18:02:36
    页面容器内多个高度不固定的div之间按照一定间隔参差不齐无序浮动,鼠标滚动时不断在容器内尾部加载数据,且自动加载到空缺位置,不断循环。 现在我们常用电商网站、网图网站多数会都采用了这种技术。具体...
  • 2.把图片设背景图,通过设置背景图的位置来实现,但这样的缺点是只能按图片的正常比例实现,不够灵活; 3.把图片放到切割对象里面,通过设置图片的top和left实现,这个方法是可行,但下面有更简单的方法实现; 4....
  • 千万别再问泪雪什么是面包屑导航了哈,我可伤不起啊,知道请自己与主题TearSnow Fan V1.7.0对比。 四、去除Head部分多余或重复信息,进一步提高优化网页代码,提升网页加载速度,同样也是对SEO一次升级...
  • 为什么不把描边层和Paper层拼合以后,再编组海报层呢?那样话,白色描边层根本就显示出来。我们还可以在海报层上加一个亮度/对比度调整图层,将亮度设为-10。再添加一个图层蒙版,用白色到黑色渐变,从调整...
  • 我在已有背景图上打算再加两个图片至图下两个位置处,可是为什么显示出来 ![图片说明](https://img-ask.csdn.net/upload/202003/15/1584267200_284444.jpg) 下面是我html代码: ![图片说明]...
  • 4.7.2 确定数据在分区中的位置 157 4.7.3 增加新的分区 158 4.7.4 移除分区 160 4.7.5 把分区移动到不同的表 161 4.7.6 移除分区函数和分区方案 162 4.7.7 用文件组提高VLDB的可管理性 162 4.7.8 用...
  • 如题:为了优化项目,现在要将项目内需要下载资源,如:表格、图片等,统一放置在硬盘上一个固定的目录上,该如何做呢,是要设置jetty.xml文件吗,jetty.xml文件在哪个位置,为什么我找到?
  • 原本同层两个DIV增大页面后浮动到下一层了 这是为什么 ![ 图片说明](https://img-ask.csdn.net/upload/201810/02/1538491269_688934.png) 怎样才能把他们固定 增大页面位置动呢? 新人小白...
  • 了解为什么超过35000人喜欢商店中NUMBER 1 craigslist应用! 将鼠标悬停在Craigslist帖子上,即可立即查看它们,而无需离开搜索结果。 节省浏览Craigslist时间-适用于所有craigslist部分-简单,干净和快速。 ...
  • 但是由于下水管道的位置固定,难以实现马桶移位,只能简单的更换,卫生间布局还是达到预期。△图片来源:美居匠舍样板间 郑州 · 东风路世玺中心针对马桶移位可以带来哪些空间优化,自己家怎么移,需要注意哪些...
  • · 拖动分类到你想要去的位置,快速排序,像书签栏一样操作 · 拖动分类到右边的垃圾桶,自动删除分类名称 · 点击右边的加号,可以直接新增分类,右键点击新创建分类,可以修改,输入后回车即保存 8、【大图漏斗...
  • 我遇到的问题是这样的:程序界面是建立在若干张位图图片的基础上,将数据显示在这些位图的某些固定位置上。之所以用位图框架,是有原因的:如果单纯用GDI绘制界面,在没有扩展GDI开发包的情况下,而且是嵌入式的CE...
  • 前提是定义了background-image属性,然后用background-attachment来指明背景图的位置固定于视口的,还是随着包含块移动的。可简单理解定义背景图片随滚动轴的移动方式。 取值: scroll:默认值,背景图相对于...
  • ``` 运动类型 篮球" /> 排球" /> 足球" /> <br /> ...1、每次运行,无论写入的是不是预定的篮球...我不是已经设置了图片的位置为右边的吗?这个位置不是固定的吗?我又没使用animation属性
  • VC实现炫眩qq界面模拟(附源码)

    千次下载 热门讨论 2008-03-10 15:24:28
    在适当的位置添加引入库的声明,这里我们选择在stdafx.h文件里面添加: //inside stdafx.h //SkinBeauty Lib Call #include "SkinBeautyExport.h" #pragma comment(lib,"SkinBeauty.lib") 在项目得初始化位置...
  • 前提是定义了background-image属性,然后用background-attachment来指明背景图的位置固定于视口的,还是随着包含块移动的。可简单理解定义背景图片随滚动轴的移动方式。 取值: scroll:默认值,背景图相对于元素...
  • Sym 不是自上而下节点式信息架构,帖子需要固定分类,通过标签 聚合 到某个领域下。 标签:根据帖子内容智能抽取关键字进行标签自动补全,一篇帖子关联多个标签。标签和标签之间以带边权重图结构进行描述,...
  • 导航栏随着我页面滑动会遮盖我文本内容,知道这是什么问题。 下面是我导航栏html代码和css部分: ``` <center> <li><a href="Stephen Curry.html">Home</a></li> <li><a href=...
  • 那个如果是这样,这个 "/templates/"就应该是自身所在的位置,而按此推理,这个“/”代表了??? 又实验了下 [color=red]../templates/一个存在的页面[/color]"> 报错 org.apache.jasper....
  • html弹出圆形菜单

    千次阅读 2019-04-11 16:02:19
    首页功能越来越多,放了好几个图片链接,然后链接还在不断增加,这时需要一个可扩展,又漂亮的菜单 网上找了个小插件吧,但是它...这几个按钮的图片都可以更换,其中6号没有添加图片的按钮,2/3/4/5/6的位置都是使...
  • (不要问我为什么有这么痛领悟。。。) 非上海沪籍应届生: 从18年清华北大,扩大到在沪“世界一流大学建设高校”即上海交大、复旦、同济、华师这四所高校。 人才引进 留学生落户:这还是目前比较通畅一条...

空空如也

空空如也

1 2 3 4 5 6
收藏数 105
精华内容 42
关键字:

为什么图片的位置不固定