用户界面图形和各种插图网站 UI Graphics
Posted 每日摸鱼大王
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户界面图形和各种插图网站 UI Graphics相关的知识,希望对你有一定的参考价值。
用户界面图形和各种插图网站 UI Graphics
各种格式现代UI资源网站,包括PSD、Sketch、Figma等等,可以为你的UI设计提供各种创意
Github项目地址
Design Resources For Developers
Website | Description |
---|---|
SVG sine waves | 生成导出完美正弦波的SVG图片 |
UI Design Daily | 可下载figma格式的各种类型的前端设计组件 |
100 Daily UI | 免费Figma产品、元素和屏幕库 |
Sketch App Sources | Sketch 的UI、线框、图标等 |
Humaaans | 具有混搭能力的人的酷插图 |
Paaatterns | 各种矢量格式漂亮图案的免费合集 |
thepatternlibrary | 免费好看的背景图案 |
404 illustration | 免费404页面插图 |
Drawkit.io | 适用于设计师和初创团队的插图 |
Absurd.design | 为设计师和开发者提供免费的超现实主义插画 |
Undraw.co | 各种你能想象和使用到的开源插图 |
Manypixels.co | 单色、等距的高质量插图 |
Open Peeps | 手绘插画库 |
UI Space | 数以千计的伟大UI赠品 |
Animations.co | 漂亮的、可定制的动画GIF图标 |
Uplabs | 优质设计资源( Free & Premium) |
InvisionApp | 免费的、高质量的UI工具包、图标包和模型库 |
Open Doodles | 一套免费Sketchy插图 |
Avataaars | 来自Pablo Stanley免费sketch头像插图库 |
Blush | 免费定制插图Figma插件 |
Hero Patterns | 可重复SVG背景模式的集合 |
BEAUBUS Patterns | 150+ 免费 SVG 图案 (背景) |
IsoFlat | Isometric SVG 图像资源的免费合集 |
IRA Design | IRA 设计是一款由创意团队推出的开源渐变插画收藏 |
Transparent Textures | 透明纹理是一个透明纹理背景模式收藏 |
icons8.com/illustrations | 这个网站提供矢量插画资源,可以提升您的项目质量 |
Patternico | 无缝图案制作器 |
Freellustrations | 为出色的落地页提供免费的背景图片 |
Pixeltrue Illustrations | 免费的动画插画 |
Abstract User Avatar API | 通过用户名称或电子邮件创建简单灵活的用户头像的 API |
sketchvalley | 免费下载 PNG、SVG 或 AI 文件。 |
PatternPad | 免费、无限量的独特图案设计 |
Dimensions | Dimensions.com 是一个维度图库,记录了日常物品和空间的标准测量和尺寸 |
Freebiesbug | 为网页设计师和开发人员提供的经过精选的资源,持续更新。 |
Flexiple | 每天推出一款高质量的开源插画。 |
Cool Text | Cool Text 是一个免费的图形生成器,用于网页和其他需要令人印象深刻的标志的地方,无需进行大量设计工作 |
illustration kit | 每天新增的高质量的开源插画 |
Doodad Pattern Generator | 创建独特的、无缝、免版税的图案。 |
Pattern Monster | 一个简单的在线图案生成器,可创建可重复使用的 SVG 图案 |
Exemplar | 适用于 Figma 和 Sketch 的免费头像库 |
UIBundle | 数千个免费的设计资源,如 UI 套件、模型、插图、图标、字体、三维素材、模板等。 |
openby.design | 定制免费的 UI 设计资源,适用于个人和商业项目。不需要署名。 |
Design Stripe | 创建美丽的插画,无需设计技 |
HOLA SVG! | 一个SVG游乐场,可以分享SVG资源。 |
symu.co | 免费的模板、UI套件、图标、PSD文件。 |
Mesh Gradient | 生成并下载漂亮的网格渐变。 |
CSS Shadow Gradients | 生成用于阴影的CSS渐变。 |
Boring Avatars | SVG随机、可爱的头像收藏。 |
Html to Design | 将任何网站转换为可完全编辑的Figma设计。 |
Java程序设计图形用户界面
图形用户界面(一)
文章目录
1.绘图
1.1 图形环境和图形对象
坐标
- GUI组件的左上角坐标默认为(0,0)
- 从左上角到右下角,水平坐标x和垂直坐标y增加。
- 坐标的单位是象素
Graphics对象
- 专门管理图形环境。Graphics类是一个抽象类
- 抽象类Graphics提供了一个与平台无关的绘图接口
- 各平台上实现的Java系统将创建Graphics类的一个子类,来实现绘图功能,但是这个子类对程序员是透明的
- 在执行paint方法时,系统会传递一个指向特定平台的Graphics子类的图形对象g
1.2 颜色和字体
-
Java中有关颜色的类是Color类,它在java.awt包中,声明了用于操作颜色的方法和常量
-
Font类——有关字体控制,在java.awt包中
-
Graphics类
其对象可以绘制文本、线条、矩形、多边形、椭圆、弧等多种图形
1.3 使用Graphics类绘图
用各种颜色绘制文字及各种图形
import java.awt.*;
import javax.swing.*;
import org.omg.CORBA.portable.ApplicationException;
public class GraphicsTester extends JFrame{
public GraphicsTester (){
super( "演示字体、颜色、绘图" );
setVisible( true ); //显示窗口
setSize( 480, 250 ); //设置窗口大小
}
public void paint( Graphics g ) {
super.paint( g );
g.setFont( new Font( "SansSerif", Font.BOLD, 12 ) );
g.setColor(Color.blue); //设置颜色
g.drawString("字体ScanSerif,粗体,12号,蓝色",20,50);
g.setFont( new Font( "Serif", Font.ITALIC, 14 ) );
g.setColor(new Color(255,0,0));
g.drawString( " 字体Serif,斜体,14号,红色", 250, 50 );
g.drawLine(20,60,460,60); //绘制直线
g.setColor(Color.green);
g.drawRect(20,70,100,50); //绘制空心矩形
g.fillRect(130,70,100,50); //绘制实心矩形
g.setColor(Color.yellow);
g.drawRoundRect(240,70,100,50,50,50); //绘制空心圆角矩形
g.fillRoundRect(350,70,100,50,50,50); //绘制实心圆角矩形
g.setColor(Color.cyan);
g.draw3DRect(20,130,100,50,true); //绘制突起效果空心矩形
g.fill3DRect(130,130,100,50,false); //绘制凹陷效果实心矩形
g.setColor(Color.pink);
g.drawOval(240,130,100,50); //绘制空心椭圆
g.fillOval(350,130,100,50); //绘制实心椭圆
g.setColor(new Color(0,120,20));
g.drawArc(20,190,100,50,0,90); //绘制一段圆弧
g.fillArc(130,190,100,50,0,90); //绘制扇形
g.setColor(Color.black);
int xValues[]={250,280,290,300,330,310,320,290,260,270};
int yValues[]={210,210,190,210,210,220,230,220,230,220};
g.drawPolygon(xValues,yValues,10); //绘制空心多边形
int xValues2[]={360,390,400,410,440,420,430,400,370,380};
g.fillPolygon(xValues2,yValues,10); //绘制实心多边形
}
public static void main(String[] args) {
// TODO Auto-generated method stub
GraphicsTester application = new GraphicsTester();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置关闭窗口退出程序
}
}
1.4 使用Graphics2D类绘图
Java2D API
- 提供了高级的二维图形功能
- 分布在java.awt、java.awt.image、java.awt.color、java.awt.font、java.awt.geom、java.awt.print和java.awt.image.renderable包中
- 它能轻松使你完成以下功能:
- 绘制任何宽度的直线
- 用渐变颜色和纹理来填充图形
- 平移、旋转、伸缩、切变二维图形,对图像进行模糊、锐化等操作
- 构建重叠的文本和图形
Graphics2D类
-
是Graphics类的抽象子类
-
要使用Java2D API,就必须建立该类的对象
-
事实上,传递给paint方法的对象是Graphics2D的一个子类实例,被向上转型为Graphics类的实例。要访问Graphics2D功能,必须将传递给paint方法的Graphics引用强制转换为Graphics2D引用:
Graphics2D g2d=(Graphics2D)g
使用Graphics2D类绘图实例:使用Java2D使文字出现渐变色效果
import java.awt.*;
import javax.swing.*;
public class Graphics2DTester extends JApplet{
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d=(Graphics2D)g;
g2d.setPaint(new GradientPaint(0,0,Color.red,180,45,Color.yellow));
g2d.drawString("This is a Java Applet!",25,25);
}
}
2.Swing基础
2.1 JFC与Swing
JFC
- Java Foundation Classes(Java基础类)的缩写
- 是关于GUI 组件和服务的完整集合
- 作为J2SE 的一个有机部分,主要包含5 个部分
- AWT
- Java2D
- Accessibility
- Drag & Drop
- Swing
Swing
- JFC 的一部分
- 提供按钮、窗口、表格等所有的组件
- 纯Java组件(完全用Java写的)
2.2 Swing与AWT
早期版本的AWT组件(Abstract Window Toolkit)
- 在java.awt包里,包括Button、Checkbox、Scrollbar等,都是Component类的子类
- 大部分含有native code,所以随操作系统平台的不同会显示出不同的样子,而不能进行更改,是重量级组件(heavyweight components)
- 没有弹性、缺乏效率
较新的Swing组件
- 其名称都是在原来AWT组件名称前加上J,例如JButton、JCheckBox、JScrollbar等,都是JComponent类的子类
- Java1.2推出,架构在 AWT 之上,是AWT的扩展而不是取代
- 完全是由java语言编写的,其外观和功能不依赖于任何由宿主平台的窗口系统所提供的代码,是轻量级组件(lightweight components)
- 可提供更丰富的视觉感受,被越来越多地使用
2.3 在Applet和Application中应用Swing
- 在Applet中应用Swing,就是要将Swing组件加载到Applet容器上(通常是JApplet),这通常在init方法中完成
- 在Application中应用Swing,也是要将Swing组件加载到这个Application的顶层容器(通常是JFrame)中
图形界面设计的一般步骤
- 1、选择容器。
- 2、确定布局。
- 3、向容器中添加组件。
- 4、进行事件处理。
在Applet和Application中应用Swing实例:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SwingApplet extends JApplet{
public void init() {
Container contentPane=getContentPane();
contentPane.setLayout(new GridLayout(2,1));
JButton button=new JButton("Click me");
final JLabel label=new JLabel();
contentPane.add(button);
contentPane.add(label);
button.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent event) {
String information=JOptionPane.showInputDialog("请输入一串字符");
label.setText(information);
} } );//创建监听器语句结束
}//init方法结束
}
以上是关于用户界面图形和各种插图网站 UI Graphics的主要内容,如果未能解决你的问题,请参考以下文章
矢量图形设计工具——Amadine for mac支持 macOS Monterey 12.x
界面构建 - UIViews vs Images vs Core graphics vs PDF 子类