专业课,学生听不懂,提不起兴趣怎么办?

最近,多名同学和我反馈说自己所学的专业太难学了,快考试了,什么也不会,急需帮助,小谷看了也是焦急万分,一一针对其学习要求已经及时做出了回复,下面是筛选的几名同学的反馈信息:

这些严峻的问题告诉我们,重理论不重实践,照本宣科的传统教学模式已经很难适应现代教学的要求,学生对课程不感兴趣,老师讲课也没有激情,直接导致学生专业技能跟不上,考试及格率低,就业率低等一系列连锁反应,相信这是目前多数高校面临的相同的问题!


那么该怎么从根本上解决这个问题呢?

在课堂教学中,使用合理生动的案例,加上适当的理论讲解,并辅之适当的练习活动,可以让学生在较少的课时中体验IT高科技的魅力,而忽视代码本身的枯燥,逐渐产生学习兴趣。

为此,小谷专门组织传智一线讲师进行研讨,已期通过案例分析—理论讲解—学生活动这样一个科学有效的方法,带领学生深入浅出的学习IT知识。


今天小谷先讲解



1 需求分析

在浏览网页时,网页中的图片随处可见,例如电子商务网站上的商品展示页面,有许多的商品图片,而且图片的尺寸大小是一致的,如下图所示:


我们知道,网站中这些商品展示的图片是由卖家上传的,而网页为了排版美观需要将这些图片处理成统一的尺寸。虽然可以通过编写HTML样式实现图片的缩小,但是如果上传的图片体积过大,会导致大量的宽带资源被消耗,也不利于网页的浏览。


作为网站的开发者,在进行商品图片上传时,如果一张一张的手动调整图片的大小是很麻烦的,为此,我们可以运用PHP的图像处理技术为图片创建缩略图。也就是说,在图片上传的时候,为每个上传的商品图片生成一张规定大小的缩略图,当查看商品列表时显示缩略图,当查看商品详情时再展示更清晰的原图。


2 准备工作


PHP提供了图像处理的扩展库,例如GD库、ImageMagick、GraphicsMagick等。我们可以通过这些扩展提供的函数来实现图像的处理。这里我们选择用GD库进行图片处理,通过GD库可以生成缩略图、对图片加水印或者对网站数据生成报表等。

GD库是PHP安装包中自带的扩展,在Windows环境下,我们可以通过php.ini来开启或关闭这个扩展。在默认情况下该扩展是关闭的,我们可以将php.ini中的如下配置取消注释来开启这个扩展:


在上图中,第862行就是在php.ini中开启了GD库扩展。


3 制作步骤


步骤一:新建画布


所谓画布就是绘画时使用的画纸,例如当我们在PhotoShop中新建图像时,就需要先设定图像的大小。因此,在生成缩略图前需要使用PHP提供的函数创建画布。


在PHP中,常用的新建画布的函数为:


该函数用于创建一个真彩色(True Color)的图像,它的第一个参数表示画布的宽,第二个参数表示画布的高,单位为像素。当该函数执行后,就会返回一个图像资源。


步骤二:获取原图

在生成缩略图时,原图就是用户上传的图片,我们将文件保存后即可获得图片在服务器中的保存路径。以下面一张图片为例:


需要注意的是,由于网页上图片的格式大多为:JPEG、PNG和GIF格式,因此PHP提供了对应的函数用于获取原图,具体如下图所示:


上图列举了三个获取图片资源的函数,其参数$filename表示图片的文件名,函数执行后同样是返回图像资源。


步骤三:制作缩略图

在制作缩略图之前,我们需要先获取原图片的宽、高信息,单位为像素。PHP提供了imagecopyresized()函数可以将原图按照指定的大小和坐标放入到目标图(缩略图画布)中。该函数具体如下所示:


为了更好的演示缩略图的原理,接下来通过一张对比图来表示imagecopysized()函数中各个参数的含义:


从上图可以看出,$src表示原图资源,$dst表示目标图(即缩略图)资源,我们可以将前两步获取到的资源传入。$src_x和$src_y表示原图的开始坐标,为了将原图完整的放入缩略图画布中,我们传入“0,0”,即原图左上角点的坐标。$src_h和$src_w表示原图的宽和高,同理为了完整放入缩略图中,我们传入原图本身的宽和高。缩略图的坐标、宽高也按照同样的方式传入即可。


假设原图的尺寸为450*450,缩略图尺寸为100*100,则程序就会截取原图坐标从“0,0”开始到“449,449”范围之内的矩形图像,这样就将原图完整的截取出来,然后缩放并放入到目标图(空画布)的从“0,0”开始到“99,99”的范围中,这样就将原图完整覆盖了目标图,从而实现了缩略图的效果。


步骤四:保存缩略图

在网络图片中,常用的图片格式为:JPEG、PNG和GIF格式,因此PHP提供了对应的函数用于保存缩略图,具体如下图所示:


在上述函数中,必选参数$image表示图像资源,可选参数$filename表示要保存的文件名,如果省略该参数则将图片直接输出到浏览器上。imagejpeg()还有个可选参数$quality表示图像的压缩质量,范围在0~100之间,数值越大画质越好。


在实际网站中,通常图片上传后就会为该图片生成一张对应的缩略图保存到文件中,因为生成缩略图需要消耗一定的计算资源,当我们保存缩略图之后,在图片列表页面直接请求缩略图,就不需要进行重复的计算了。

当我们需要将图片输出到浏览器中时,需要注意通过header()函数告知浏览器该内容的格式为图像,并且在输出图像的前后不能有其他内容输出,否则会破坏图像数据。


4 代码演示


下面的代码演示了缩略图的完整生成步骤,经过前面的讲解后,再来理解下面的代码就非常容易了。







温馨小贴士:

每周一篇精品IT干货分享,查看往期干货可以点击菜单栏中的(享服务-精彩回顾)欢迎各位老师学生参与互动,期待您把教学或者学习中遇到的问题抛给小谷哦,小谷和身后的智囊团会一一为您解答哦,您也可以参与有奖投稿哦,邮箱是

yangxinyue@boxuegu.com,小谷定会一一回复的!

关注微信:boxuegu 查看更多精彩内容


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值