十一. 图形、图像与多媒体2.设置字型和颜色

Java绘图中,显示文字的方法主要有三种:
(1)drawString(String str,int x,int y):在指定的位置显示字符串。
(2)drawChars(char data[],int offset,int length, int x, int y):在指定的位置显示字符数组中的文字,从字符数组的offset位置开始,最多显示length个字符。
(3)drawBytes(byte data[],int offset,int length,int x,int y), 在指定的位置显示字符数组中的文字,从字符数组的offset位置开始,最多显示length个字符。

这里给出的显示位置(x,y)为文字的基线的开始坐标,不是文字显示的矩形区域的左上角坐标。

文字字型有三个要素:

  • 字体:常用的字体有Times New Roman、Symbol、宋体、楷体等。
  • 风格:常用的风格有三种:正常、粗体和斜体;分别用三个常量表示:Font.PLAIN(正常)、Font.BOLD(粗体)和Font.ITALIC(斜体)。风格可以组合使用,例如 ,Font.BOLD+Font.ITALIC。
  • 字号:字号是字的大小,单位是磅。

在Java语言中,用类Font对象字型。Font类构造方法有:
    Font(String fontName,int style,int size),3个参数分别表示字体、风格和字号。例如,代码:
    Font fnA = new Font(“细明本”,Font.PLAIN,12)
设置的字型的是:细明体、正常风格, 12磅字号。

Font类的其他常用方法:

  1. getStyle(),返回字体风格。
  2. getSize(),返回字体大小。
  3. getName(),返回字体名称。
  4. isPlain(),测试字体是否是正常字体。
  5. isBold(),测试字体是否是粗体。
  6. isItalic(),测试字体是否是斜体。

【例 12-1】小应用程序用6种字型字符串,显示内容说明本身的字型。
import java.applet.*;
import java.awt.*;
public class Example7_1 extends Applet{
    Font f1 = new Font("Helvetica",Font.PLAIN,18);
    Font f2 = new Font("Helvetica", Font.BOLD,10);
    Font f3 = new Font("Helvetica",Font.ITALIC,12);
    Font f4 = new Font("Courier",Font.PLAIN,12);
    Font f5 = new Font("TimesRoman", Font.BOLD+Font.ITALIC,14);
    Font f6 = new Font("Dialog",Font.ITALIC,14);
    public void paint(Graphics g){
        setSize(250,200);
        g.setFont(f1);drawString("18pt plain Helvetica",5,20);
        g.setFont(f2);drawString("10pt bold Helvetica",5,43);
        g.setFont(f3);drawString("12pt italic Helvetica",5,58);
        g.setFont(f4);drawString("12pt plain courier",5,75);
        g.setFont(f5);drawString("14pt bold & italic times Roman",5,92);
        g.setFont(f6);drawString("14pt italic dialog",5,111);
    }
}

用类Color的对象设置颜色,有两种方法生成各种颜色:

  • 用类Color预定议的颜色:black,red, white, yellow ……;
  • 通过红绿蓝(RGB)的值合成颜色。

与颜色有关的常用方法:
(1)用类Color的构造方法Color(int R, int G,int B)创建一个颜色对象,参数R,G,B分别表示红色、绿色和蓝色,它们的取值是从0到255。
(2)用类Graphics的方法setColor(Color c),参数c的取值参见表12-1。
(3)用类Component的方法setBackground(Color c)设置背景颜色。因为小程序是组件类的子类,直接可用setBackground()方法改变背景色。
(4)用类Graphics的方法getColor()获取颜色。

表12-1 Color 类预定义颜色常量
black blue cyan
darkGray gray green
lightGray magenta orange
pink red white
yellow    

【例 12-2】小应用程序设置颜色并涂方块,其中绘制方块的方法将在后续小节中讲到。
import java.applet.*;
import java.awt.*;
public class Example7_2 extends Applet{
    public void paint(Graphics g){
        setSize(380,200);
        for(int i=0;i<=10;i++){
            Color myredcolor = new Color(i*25+5,0,0);
            g.setColor(myredcolor);
            g.fillRect(i*32+5,2,28,28);
        }
        for(int i=0;i<=10;i++){
            Color mygreencolor = new Color(0,i*25+5,0);
            g.setColor(mygreencolor);
            g.fillRect www.xuancai88c.cn (i*32+5,32,28,28);
        }
        for(int i=0;i<=10;i++){
            Color mybluecolor = new Color(0,0,i*25+5);
            g.setColor(mybluecolor);
            g.fillRect(i*32+5,62,28,28);
        }
    }
}

时间: 2024-10-16 21:56:47

十一. 图形、图像与多媒体2.设置字型和颜色的相关文章

Java知多少(96)绘图之设置字型和颜色

Java绘图中,显示文字的方法主要有三种:(1)drawString(String str,int x,int y):在指定的位置显示字符串.(2)drawChars(char data[],int offset,int length, int x, int y):在指定的位置显示字符数组中的文字,从字符数组的offset位置开始,最多显示length个字符.(3)drawBytes(byte data[],int offset,int length,int x,int y), 在指定的位置显示

改变TLabel字型和颜色(Styled特性高于自身特性,李维的博客)

最近收到几位使用者的来信都是和如何改变FireMonkey TLabel组件的字型和颜色, 这几位使用者都是直接改变TextSettings特性中的Font子特性但却无法改变字型和颜色, 因此来信询问. FireMonkey的TLabel组件控制组件的字型和颜色其实有2个特性, 分别是StyledSettings和TextSettings, 而且StyledSettings特性优先于TextSettings特性,在内定上StyledSettings特性会设定它的Size和FontColor子特性

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- 图像处理

为了便于操作图像iOS中定义图像类,UIImage是UIKit框架中定义的图像类,其封装了高层次图像类,可以通过多种方式创建这些对象.在Core Graphics框架(或Quartz 2D)中也定义了CGImage,他表示位图图像,因为CGImage被封装起来了,所以通常通过CGImageRef来使用CGImage. 除了UIImage和CGImage外,在Core Image框架中也有一个图像类 CIImage,CIImage封装了图像类能够很好地进行图像效果处理.例如,滤镜的使用.UIIma

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- 力学行为特性

UIKit力学行为包含了:重力(UIGravityBehavior),碰撞(UICollisionBehavior),吸附(UIAttachmentBehavior),推(UIPushBehavior),甩(UISnapBehavior)和行为限制(UIDynamicItemBehavior). - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; _animator = [[UIDynamicAnimato

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- 图像处理之人脸识别

人脸识别过程一般分为以下3个步骤: 1.首先建立人脸的面纹数据库.可以通过照相机或摄像机采集人脸的面相图片,将这些面相图片生成面纹编码保存到数据库中. 2.获取当前人脸面相图片.即通过照相机或摄像机采集人脸的面相图片,将当前的面相文件生成面纹编码 3.用当前的面纹编码与数据库中的面纹编码进行对比 在iOS5之后提供人脸识别的API,通过提供的CIDetector类可以进行人脸特征识别,CIDetector是CoreImage框架中的一个特征识别滤镜,CIDetector主要用于人脸特征识别.通过

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- 视频

1.AVI文件 AVI是音频视频交错的英文缩写,它是微软公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,是将音频与视频同步组合在一起的文件格式,他对视频文件采用了一种有损压缩方式. 2.WMV文件 WMV也是微软公司推出的一种流媒体格式,在同等视频质量下,WMV格式的体积非常小,因此很适合在网上播放和传输. 3.RMVB文件 RMVB是一种视频文件格式,RMVB中的VB指他打破了压缩的平均比特率,使在静态画面下的比特率降低,来达到优化整个视频中比特率,提高效率节约资源的目的.RMVB

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- 录制与编辑视频

使用UIImagePickerController 进行录制 #import "ViewController.h" #import <MobileCoreServices/MobileCoreServices.h> #import <QuartzCore/QuartzCore.h> @interface ViewController () <UIImagePickerControllerDelegate,UINavigationControllerDele

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- AirPlay

AirPlay技术是之前一直没有接触过的技术,正好这次做一个笔记 共用: 1.可以通过AirPlay将iOS和MAC设备上的视频或音频输出到高清电视上或高保真音响 2.可以通过AirPlay将iOS和MAC设备屏幕镜像显示到高清电视上 3.可以通过AirPlay将iOS和MAC设备屏幕与高清电视实现双屏幕显示 AirPlay对能够播放的媒体编码有要求 1.音频数据采用AAC或MP3编码压缩 2.视频数据采用H264编码压缩 可以通过AirPlay播放的技术有 1.MPMoviePlayerCon

&lt;图形图像,动画,多媒体&gt; 读书笔记 --- 音效

音频多媒体文件主要是存放音频数据信息,音频文件在录制的过程中把声音信号,通过音频编码,变成音频数字信号保存到某种格式文件中.在播放过程中在对音频文件解码,解码出的信号通过扬声器等设备就可以转成音波.音频文件在编码的过程中数据量很大,所以有的文件格式对于数据进行了压缩,因此音频文件可以分为: 无损格式,是非压缩数据格式,文件很大一般不适合移动设备,例如:WAV,AU,APE等文件 有损格式,对于数据进行了压缩,压缩后丢掉了一些数据,例如MP3,WMA等文件. 1.WAV文件 WAV文件目前是最流行