`
lppchina
  • 浏览: 51347 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类

g.setClip()使用方法

 
阅读更多
   为了降低文件的大小,经常要把小图片合并成一个大图片,在屏幕上显示的时候,可以根据需要只显示该图片中的一部分图片。Graphics中的setClip方法可以实现该功能。

  setClip方法的原理是通过只在屏幕上显示一部分内容,让图片恰好位于该部分的内容显示出来。

  setClip的方法类似在屏幕上挖了一个“透视孔”,只有位于该孔中的图片内容显示出来。

  setClip的方法说明如下:
  public void setClip(int x, int y, int width, int height)

  其中:

  x——可以显示的矩形区域左上角的x坐标
  y——可以显示的举行区域左上角的y坐标

  width——矩形的宽度
  height—矩型的高度

  实际使用示例:

  g.setClip(10,20,20,30);

  g.drawImage(image,10,20,Graphics.LEFT | Graphics.TOP);

  则只显示image对象代表的图片中从开始位置,高30,宽20的部分,其余的部分都不显示。

  注意:在使用完setClip以后,需要恢复系统的默认设置,使整个屏幕都可以显示:

  g.setClip(0,0,this.getWidth(),this.getHeight());
分享到:
评论

相关推荐

    c#窗体美化,窗体重绘

    对于窗体的圆角,我们可以使用`GraphicsPath`对象来定义一个带有圆角的矩形路径,然后用`FillRegion`方法填充该路径: ```csharp private readonly Size cornerRadius = new Size(20, 20); // 圆角半径 protected ...

    J2me 基本常识总结

    ### J2ME基础知识总结 #### 一、J2ME概述 Java 2 Micro Edition(简称J2ME)是Sun Microsystems为嵌入式...以上两个示例分别展示了J2ME中图形界面和多媒体功能的基础使用方法,对于初学者而言是非常好的学习资源。

    c#绘制图形及其简单操作

    g.SetClip(clipRect); // 绘制直线 Pen linePen = new Pen(Color.Blue, 2); Point p1 = new Point(50, 50); Point p2 = new Point(300, 300); g.DrawLine(linePen, p1, p2); // 恢复默认裁剪 g.ResetClip(); ``` ...

    j2meshouji

    public class WelcomForm extends Canvas implements CommandListener { Image img1; Command gocmd; Timer time=new Timer(); Font f;... f= Font.getFont(Font.FACE_SYSTEM,... g.setClip(0, y, Width, 5);

    j2me paint()优化

    g.setClip(x, y, width, height); ``` 2. **指定重绘区域**:使用`repaint(x, y, width, height)`方法来指定需要更新的特定区域,而不是全屏重绘。 #### 双缓冲技术的应用 双缓冲是一种有效减少闪烁并提高绘制...

    C# 基本画图(包含了所有的基本画图代码)

    11. **Clip区域**:使用`g.SetClip()`方法可以限制绘制的区域,超出该区域的绘制将被忽略。 12. **Transform矩阵**:通过设置Graphics对象的Transform属性,可以进行坐标变换,如缩放、旋转和倾斜。 13. **使用...

    VB.Net 中Label透明字体显示

    g.SetClip(rect) g.DrawString(text, lblText.Font, brush, rect, New StringFormat With {.LineAlignment = StringAlignment.Center, .Alignment = StringAlignment.Center}) g.ResetClip() End Sub ``` 3. ...

    j2me手机游戏代码

    "操作方法:"+ "\n\n" + "游戏中用方向键和2、4、6、8键控制主角移动以及进行菜单选择,5键或OK键选定,3键调出/关闭属性菜单,左软键调出操作菜单,可查看帮助信息,保存游戏或回到主菜单。"+ "\n\n" + "关键...

    java 用2d美化JButtonDemo.rar

    主要代码: @Override public void paint(Graphics g,... g2d.setClip(clip); g2d.setPaint(p1); g2d.drawRoundRect(0,0,w-1,h-1,20,20); g2d.setPaint(p2); g2d.drawRoundRect(1,1,w-3,h-3,18,18); }

    C#自定义控件---实现Control阴影源码--最低分分享

    g.SetClip(new Rectangle(0, 0, Width, Height)); // 限制绘制区域 g.DrawRectangle(Pens.Black, 0, 0, Width - 1, Height - 1); // 示例:绘制边框 } } ``` 4. **优化性能** 考虑到性能,我们可以利用双缓冲...

    C# GDI 编程(附示例代码)

    你可以通过SetClip和Transform方法来改变绘图区域和坐标变换。 9. **路径绘图**:Path对象允许你创建复杂路径,可以组合直线、曲线和封闭形状。例如,`GraphicsPath myPath = new GraphicsPath();`,然后添加线条和...

    C# 在一个区域中剪辑

    g.SetClip(new Rectangle(10, 10, 100, 100)); // 设置剪辑区域 g.FillRectangle(Brushes.Red, 0, 0, 200, 200); // 填充红色矩形,但只在剪辑区域内可见 } ``` 而在WPF中,代码可能如下: ```csharp void ...

    c# gdi 矩形 鼠标拖动调整大小旋转

    在C#中,我们通常通过Graphics类的DrawRectangle方法来绘制矩形,通过SetClip方法限制绘制区域,通过TranslateTransform方法实现图形的平移,通过RotateTransform方法实现旋转。 对于矩形的大小调整,我们可以监听...

    JButton 美化(圆角矩形立体效果加鼠标响应)Demo.rar

    g2d.setClip(clip); // 画一个黑色边框 paint = new GradientPaint(0,0,new Color(0,0,0), 0,btnHeight-1,new Color(100,100,100)); g2d.setPaint(paint); g2d.drawRoundRect(0,0,btnWidth-1,btnHeight-...

    java多种改变字体样式实例

    g2.setClip(shape); g2.setColor(Color.blue); g2.fill(shape.getBounds()); g2.setColor(Color.yellow); for (int j = shape.getBounds().y; j < shape.getBounds().y + shape.getBounds().height; j=j+3) { ...

    对一个运动对象的总结

    `Graphics`对象在`paint`方法中被用来进行实际的绘制操作,可以调整剪切区域(`g.setClip`)以只绘制精灵当前应该显示的部分。 通过这些基本元素,开发者可以创建具有复杂行为和动画效果的游戏对象,例如角色移动、...

    C#获取QQ头像 绘制圆形 .zip

    在`Graphics`对象上,我们可以使用`DrawImage`方法来绘制圆形头像。这里需要一个半径相同的椭圆来剪裁图片: ```csharp int radius = Math.Min(bitmap.Width, bitmap.Height) / 2; Rectangle rect = new Rectangle...

    开发中j2me与android的比较.pdf

    - **J2ME**:使用 `Graphics.setClip()` 方法来限制绘图区域。 - **Android**:使用 `Canvas.clipRect(float left, float top, float right, float bottom, Region.Op op)` 方法来剪切绘图区域。 12. **旋转** -...

    第章Java图形与事件处理2022优秀文档.ppt

    此外,可以使用getColor()、setColor()、getFont()、setFont()等方法来控制绘图的颜色和字体。 6.1.2 Graphics类的其他功能还包括控制剪贴区,如getClip()和setClip(),以及填充图形,例如fillOval()和fillRect()。...

    Java 不规则窗口(形状窗口)eclipse开发

    g2d.setClip(new Ellipse2D.Float(0, 0, getWidth(), getHeight())); g2d.fillRect(0, 0, getWidth(), getHeight()); } public static void main(String[] args) { SwingUtilities.invokeLater(() -> new ...

Global site tag (gtag.js) - Google Analytics