当前位置:网站首页 > Java基础 > 正文

java教程图片



<p>正如你已经学到的那样,方法会在指定位置绘制一张图片:</p> <p>位置指定了图片左上角的位置。观察者参数用于通知应用程序异步加载的图片的更新。观察者参数通常不直接使用,并且对于类不需要,因此通常为null。</p> <p>上述方法只处理整个图片被绘制的情况,将图片像素映射到用户空间坐标1:1。有时候应用程序需要绘制图片的一部分(子图像),或者按比例缩放图片以覆盖绘制表面的特定区域,或者在绘制之前对图片进行变换或过滤。</p> <p>方法的重载执行这些操作。例如,下面的方法重载可以绘制指定图像的尽可能多的可用区域,并按比例缩放以适应目标绘制表面的指定区域:</p> <p>参数表示要复制和绘制的图像区域。参数表示要用源区域覆盖的目标区域。坐标定义了绘制图片的位置。目标区域的宽度和高度由以下表达式计算:。如果源区域和目标区域的尺寸不同,Java 2D API将根据需要进行缩放。</p> <p>下面的代码示例将一张图片分成四个象限,并随机将源图片的每个象限绘制到目标的不同象限。</p> <p style="text-align: center"> <applet code="JumbledImageApplet" archive="examples/lib/JumbledImageApplet.jar" width="400" height="250" alt="将一张图片分成四个象限,并随机将源图片的每个象限绘制到目标的不同象限。"> <param name="permissions" value="sandbox"> </applet></p> <p>这个applet的完整代码在中。</p> <p>这个例子使用以下代码绘制了混乱的图像。它迭代源图像的四个子图像,依次将每个子图像绘制到随机选择的目标象限中。</p> <p>除了复制和缩放图像外,Java 2D API还可以对图像进行过滤。 是通过对源图像的像素应用算法来绘制或生成新图像。可以使用以下方法来应用图像过滤器:</p> <p>参数实现了过滤器。下面的小程序表示在文本上方绘制了一个图像。拖动滑块可以通过图像显示更多或更少的文本,并使图像更或更少透明。</p> <p style="text-align: center"> <applet code="SeeThroughImageApplet" archive="examples/lib/SeeThroughImageApplet.jar" width="400" height="250" alt="表示在文本上方绘制了一个图像"> <param name="permissions" value="sandbox"> </applet></p> <p>以下代码显示了如何通过使用具有通道的对象并使用对象来重新调整该alpha通道来完成过滤操作。alpha通道确定每个像素的半透明度,并指定了此图像覆盖的程度。</p> <p>完整的示例在 中,包括使用滑块调整透明度从初始的50%开始的代码。该示例还需要 duke_skateboard.jpg 图像。</p> <p> 对象只是可以创建的许多滤镜之一。Java 2D API 中内置了几个滤镜,包括以下几种:</p> <ul> <li>。每个输出像素是从源图像周围像素计算得出的。它可以用于模糊或锐化图像。</li> <li>。此滤镜通过在像素位置上应用变换将源中的像素映射到目标中的不同位置。</li> <li>。此滤镜使用应用提供的查找表来重新映射像素颜色。</li> <li>。此滤镜通过某个因子乘以颜色。可用于使图像变亮或变暗,增加或减少其不透明度等。</li> </ul> <p>下面的示例使用了上述每个滤镜以及缩放:</p> <p style="text-align: center"> <applet code="ImageDrawingApplet" archive="examples/lib/ImageDrawingApplet.jar" width="400" height="250" alt="演示滤镜和缩放"> <param name="permissions" value="sandbox"> </applet></p> <p>此 applet 的完整代码在 中,该 applet 需要 bld.jpg 图像。</p> <p>使用下拉菜单选择图像缩放或滤镜操作。</p> 

版权声明


相关文章:

  • java输入io流教程2025-10-22 13:58:03
  • java教程495集2025-10-22 13:58:03
  • java视频教程优酷网2025-10-22 13:58:03
  • java373教程2025-10-22 13:58:03
  • java基础运算教程2025-10-22 13:58:03
  • java 开发oa系统 教程2025-10-22 13:58:03
  • java基础教程答案2025-10-22 13:58:03
  • java全套教程详解2025-10-22 13:58:03
  • java塔防教程2025-10-22 13:58:03
  • java教程我赢2025-10-22 13:58:03