borderfill,Button组件
borderfill,Button组件详细介绍
本文目录一览: 《R语言实战》自学笔记16-图形图例
数据准备
函数:legend(location, title, legend, ....)
参数详解:
x和y:用于定位图例,也可用关键词"bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" 和 "center";当图例用关键词设置位置后,inset = 分数,可以设置其相对位置; legend:指定图例标签,字符或表达式向量; fill:用特定的颜色进行填充; col:设置图例中出现的点或线的颜色; border:当fill = 参数存在的情况下,用于指定填充的边框颜色; lty, lwd:图例中线的类型与宽度; pch:点的类型; angle:阴影的角度; density:阴影线的密度; cex:指定图例显示大小; bg:指定图例的背景色; bty:指定图例框是否画出,默认o为画出,n为不画出; box.lty, box.lwd, box.col: 设置图例边框线型,线粗,颜色,box.lty为虚线,box.lwd决定粗线,box.col决定颜色; pt.bg:图例中点的背景色; pt.cex:图例中点的大小; pt.lwd:图例中点边缘的线宽; x.intersp:图例中文字离图片的水平距离; y.intersp:图例中文字离图片的垂直距离; adj:图例中字体的相对位置; text.width:图例中字体所占的宽度,调整后图例整个宽度也跟着变化了; text.col:图例字体的颜色; text.font:图例字体; merge:逻辑值,merge=TRUE,合并点与线,但不填充图例框,默认为TRUE; trace:逻辑值,trace=TRUE显示图例信息; plot:逻辑值,plot=FALSE不画出图例; ncol:图例中分类的列数; horiz:逻辑值,horiz=TRUE,水平放置图例; title:给图例加标题; xpd:xpd=FALSE,即不允许在作图区域外作图,改为TRUE即可,与par()参数配合使用; title.col:标题颜色; title.adj:图例标题的相对位置,0.5为默认,在中间。0最左,1为最右; seg.len:指定图例中线的线长,长度单位为字符宽度。
1 图例方位
2 修饰图例
3 图例绘制在图外
4 自定义图例 有时候绘制出的图是分组图,这时候需要自定义绘制图例。
参考资料: 《R语言实战》(中文版),人民邮电出版社,2013. R语言绘制图例(legend)的各种问题_详细综合解析, https://blog.csdn.net/xiangyong58/article/details/54579293 投必得R语言教程,第二讲 R作图-基础-图形参数设置:标题、图例、文字, https://mp.weixin.qq.com/s?__biz=MzU1Mzc3OTIwNg==&mid=2247495531&idx=1&sn=cdd80d4e950ae2b344cf188c68922fa8&chksm=fbef0602cc988f14e93b71bc6fcc2fda782d3ae9a3a67601a6c87756f4ae85bcc5d9c56d9b51&scene=21#wechat_redirect 一幅图解决R语言绘制图例的各种问题, https://blog.csdn.net/weixin_30469895/article/details/96649305
excel 折线图 怎样把折线的颜色全变为黑色?
关于excel表格图表导向中的折线图折线换颜色的问题,以excel2010为例。
当做好折线图后需要改变线条颜色,双击要改变颜色的线条,在弹出的选单中点击“线条颜色”,选择“实线”,在“颜色”选单那里选中想要的颜色即可了。
具体如上图所示。
下面宏可以做到,标识的外框还有问题,没解决。用之前建议先另存文档试试。
Sub 折线颜色()
Dim CO As ChartObject, I As Long
On Error Resume Next
For Each CO In ActiveSheet.ChartObjects
For I = 1 To CO.Chart.SeriesCollection.Count
CO.Chart.SeriesCollection(I).Border.Color = 0
CO.Chart.SeriesCollection(I).Format.Fill.ForeColor.RGB = 0
Next
Next
End Sub
都是黑色不好区分啊?你用office2007么?选中图表,依次点“设计design”“图表样式chart styles”第一种样式就是黑灰的。不过要一个一个点。
这没必要修改啊
打印的时候,选择黑白打印就行了,不管什么打印机都会由此设置,只是位置可能不一样
1、选中折线所在的系列。
2、依次单击【图表工具】【格式】,在【当前所选内容】分组,单击【设置所选内容格式】。
3、在弹出的【设置数据系列格式】对话框中,设置【线条颜色】为黑色。并根据实际要求调整【宽度】、【线型】等。
4、如有数据标记,则把数据标记的边框和填充全部设置为黑色。
5、如拆线图中有多个系列,需依次设置。
这样的效果,swing 如何实现?
import java.awt.Color;
import java.awt.Font;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.border.Border;
import javax.swing.border.TitledBorder;
public class BorderDemo extends JPanel {
private static final long serialVersionUID = 890959008784739480L;
JLabel infoLabel;// 信息标签
JButton setButton;// 设置按钮
public BorderDemo() {
//设置透明
this.setOpaque(false);
//创建标题边框
Border titleBorder = BorderFactory.createTitledBorder(null,"启动和故障恢复",
TitledBorder.LEFT,
TitledBorder.DEFAULT_POSITION,
new Font("正楷",Font.PLAIN,12),
Color.blue);
//设置边框
this.setBorder(titleBorder);
//设置布局
this.setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
infoLabel = new JLabel("系统启动,系统失败和调试信息");
gbc.gridx = 0;
gbc.gridy = 0;
gbc.anchor = GridBagConstraints.NORTH;
gbc.gridwidth = 1;
gbc.gridheight =1;
gbc.fill = GridBagConstraints.BOTH;
gbc.weightx = 1.0;
gbc.weighty = 1.0;
this.add(infoLabel,gbc);
setButton = new JButton("设置(T)");
gbc.gridx = 1;
gbc.gridy = 1;
gbc.gridwidth = GridBagConstraints.REMAINDER ;
gbc.weightx = 0;
gbc.weighty = 0;
this.add(setButton,gbc);
}
public static void main(String[] args) {
//Window风格
String lookAndFeel = "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
try {
UIManager.setLookAndFeel(lookAndFeel);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
JFrame frame = new JFrame();
BorderDemo demo = new BorderDemo();
frame.getContentPane().add(demo);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(3);
}
}
【无机纳米材料科研制图——OriginLab 0204】Origin细胞存活率柱状图绘制
? ? ? ?此篇,我们来分享一个设计到生物实验的重要制图,就是细胞的存活率柱状图。
一、柱状图绘制
? ? ? ?1)准备数据。
? ? ? ?一般,我们使用MTT法测细胞的生存率时,需要测试多个浓度下(此篇设定了对照组0和浓度分别为31.25、62.5、125、250、500 μg/mL的细胞)的细胞存活率,而为了提高检测准确性和稳定性,每个浓度的细胞在96孔板中要测三个孔。而酶标仪的原理是通过检测穿过每个孔的单色光的光信号变化,并经过一系列的算法还原出一个光密度值OD,来体现单个孔中的细胞相对数量。因而,下图中我们自主设定了六个浓度的细胞,且每个浓度有三个孔的光密度值。
? ? ? ?2)计算均值和标准差。
? ? ? ?因为我们最后的柱状图是以每个浓度下三个数据的均值为主制图,而三个数据的标准差作为误差标记出每个柱的误差棒,因而,需要计算每个浓度下数据的均值和标准差。那么,Origin作为一个数据分析和绘图软件,当然为我们配备了这样的功能。如下图所示步骤操作,再选定三个Y列之后,打开描述性统计对话框。
? ? ? ?由于已经提前选好了数据范围,所以直接点击确定即可。
? ? ? ?如下图所示,点击确定后,新产生的两列数据就是前面每个浓度下数据的均值和标准差。
? ? ? ?3)尝试制图。
? ? ? ?如下图所示,在做柱状图前先更改下均值的几个名称。
? ? ? ?接着,选中A(X)、Mean(Y)、SD(yEr?这三列之后,点击Plot——》Column/Bar/Pie——》Column即可绘制柱状图。
? ? ? ?如下图所示,柱状图的效果不是很理想,因为每个柱子位于实际坐标位置因而间距不均匀。
? ? ? ?4)替换横坐标数值。
? ? ? ?现在,重新添加三列数据,第一列为X属性,数据为1到6,第二列和第三了分别为复制前面的均值和标准差。注意,第二列的属性要设置为Y,而第三列要设置为Y Error。
? ? ? ?同时框选新添加的三列数据,然后绘制Column柱状图。可以看到,现在各柱间距是相等的,然后,我们准备将当前的横坐标替换为0 31.25 62.5 125 250。
? ? ? ?双击横坐标值,会自动弹出到Tick Labels分页,在Display子分页中,将Type类型改为Tick-indexed dataset坐标索引数据集,然后在Dataset Name中选择表格第一列,即A"Concentation"。
? ? ? ?确定之后,如下图所示,横坐标已经替换为了正确的细胞浓度。
二、柱状图优化
? ? ? ?1)更改柱体颜色。
? ? ? ?这里必须双击柱体的边框,才能打开绘制细节的修改面板。在Pattern图案分页下,主要有两种修改对象,一个是Border边框,一个是Fill填充。看到这里,熟悉Office的同学应该能感觉到,这边框和填充是Word和PPT中对图案的常用修改模式。下图中,我们将柱体的填充颜色改为了红色。而对于其他的可改项,大家可自行尝试。
? ? ? ?2)更改柱间距。
? ? ? ?将制图细节面板切换到Spacing空间分页,可修改柱间距(其实是ErrorBar误差棒的间距,因为棒在柱的中间,所以用Gap Between Bars描述起来更准确)。如图所示,我们将原先默认的20%增加到了40%,可以看到柱间距明显增大了一些,看起来更舒适。
? ? ? ?3)可更改Error Bar。
? ? ? ?双击图中的Error Bar可打开对误差棒的修改面板,或是将Layer1中的选项切换到第二个,也可打开此面板。大家可自行尝试对Error Bar的一些修改。
? ? ? ?4)单独修改柱体填充颜色。
? ? ? ?首先 ,要改变单个柱体的填充颜色,就要先单独将其选中。对于Column类型的图,想要单独选中,需要按住ctrl键,然后鼠标点击某个柱体才行。
? ? ? ?接着,再双击已被选中的柱体,即可打开对其细节单独修改的面板。如下图所示,细节面板左侧的层次图中多出了一个2的数据,这正是我们所单独选取的柱体。而分页选项中,已经缺少了Spacing,这是理所应当的,因为对于单个物体谈何相距。下图中,我们已将第二个柱体的颜色改为了橙色。
三、柱状图归一化。
? ? ? ?还有一件事没有完成,即细胞活性的纵坐标单位是百分比,因此,对比组的细胞生存率应该调整为100%,相应的,其他列的数据也要以相同倍数调变。
? ? ? ?1)打开Set Values面板。
? ? ? ?选中需要改变数据的一列,然后右键,再弹出的选项列表中选择Set Column Values,即设置列值。
? ? ? ?2)填写函数脚本。
? ? ? ?将会话框中的函数补全为Col(F)/0.95*100,点击Apply后,即可将对照组的细胞存活率调整为100%,而其他不同浓度的细胞存活率也以相应的倍数放大。
? ? ? ?同样的,Error Bar中的数据也要以相同的倍数改变 。此时,注意所写函数要与实际列相对应,即Col(G)=Col(G)/0.95*100。
? ? ? ?此时,再看柱状图,结果便不一样了(改变数值后,原图可能会容纳不下新的柱体,因此需要适当调整纵坐标范围)。另外,从下图中也可看出,Book的第四个参数F(x)=也付出水面了,这里是显示我们补写函数的地方。
四、总结
? ? ? ?回顾,此篇我们用到的功能有:描述性统计辅助计算均值和标准差、柱状图制图、横坐标数值替换、更改柱体颜色、更改柱间距、更改误差棒、单独修改柱体颜色、函数脚本更改列值。
origin图换成黑色
首先第一步,我们打开软件之后,在软件中设置输入想要制作图形的一些数据,如下图中所示。
制作图形之后图形的颜色是软件默认的颜色,单击图形的话可以对颜色进行填充,双击图形的话就会显示图形的设置菜单。
打开图像设置菜单之后,我们在其中可以看到有Border Color、Fill Color等选项,分别表示边框颜色和填充颜色,我们根据自己的喜好进行选择即可
4.之后我们我们设置为白色的话,单击确定按钮之后会如下图中显示为黑色。
5.我们也可以选择Pattern这个设置模块,将Fill填充颜色设置为白色或无色,这样处理的图形显示就为白色
6.修改颜色的操作就是这些,我们可以在Group选项界面或者是Pattern选项界面进行设置,根据自己想要的效果设置即可。
java swing布局
Container是一个BorderLayout ,
Container 里放的一个panel 居"Center"。
panel是加了一个TitleBorder,并放置了几个文本框和label
Container 同样加一个panle 居"South",这个panel 里放的两个按钮
方框,就是TitledBorder.自已在api 里查。
推荐楼主下一个NetBeans IDE来使用,这样的布局就不用写代码了,拖就能出来。
设置JPanel的Border就行了
jPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "修改信息"));
布局设成null,其中的组件都设定位置
import javax.swing.*;
public class LoadDialog extends javax.swing.JDialog {
private JPanel outer;
private JLabel one;
private JLabel three;
private JPasswordField pw3;
private JPasswordField pw2;
private JPasswordField pw1;
private JLabel two;
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
LoadDialog inst = new LoadDialog(null);
inst.setResizable(false);
inst.setLocationRelativeTo(null);
inst.setVisible(true);
}
});
}
public LoadDialog(JFrame frame) {
super(frame);
initGUI();
}
private void initGUI() {
try {
setTitle("修改密码:");
getContentPane().setLayout(null);
{
outer = new JPanel();
getContentPane().add(outer);
outer.setBounds(41, 34, 313, 194);
outer.setBorder(BorderFactory.createTitledBorder("修改信息:"));
outer.setLayout(null);
{
one = new JLabel();
outer.add(one);
one.setText("输入原密码:");
one.setBounds(44, 56, 69, 15);
}
{
two = new JLabel();
outer.add(two);
two.setText("输入新密码:");
two.setBounds(44, 90, 69, 15);
}
{
three = new JLabel();
outer.add(three);
three.setText("重复原密码:");
three.setBounds(44, 126, 69, 15);
}
{
pw1 = new JPasswordField();
outer.add(pw1);
pw1.setText("");
pw1.setBounds(119, 52, 133, 22);
}
{
pw2 = new JPasswordField();
outer.add(pw2);
pw2.setText("");
pw2.setBounds(119, 86, 133, 22);
}
{
pw3 = new JPasswordField();
outer.add(pw3);
pw3.setText("");
pw3.setBounds(119, 122, 133, 22);
}
}
setSize(400, 300);
} catch (Exception e) {
e.printStackTrace();
}
}
}
null layout不是很好,所有的东西都要自己定义,一旦窗口大小变化就要重新计算。我建议使用MigLayout。上手慢,但很强大。http://www.miglayout.com
而且,就算你要用内建的Layout Manager,还有一个GridBag Layout,比Grid Layout更强大一点。
接下来,那个边框,不是JSeparator, 而是一个边框。我猜是
Border result = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "修改信息: ");
如果是我,使用MigLayout,以上代码还是比较简单的:
import java.awt.event.KeyEvent;import javax.swing.BorderFactory;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.SwingUtilities;import javax.swing.border.Border;import javax.swing.border.EtchedBorder;import net.miginfocom.swing.MigLayout;public class MyFrame extends JFrame { public MyFrame() { begin(); } private void begin() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new MigLayout("insets 10, fill", "[]", "[]5[]")); //first panel JPanel first = new JPanel(); //first这个panel有5像素的边缘,2列,3行。第一列右对齐,占40%宽度;第二列默认,左对齐,占据剩余所有空间。 first.setLayout(new MigLayout("insets 5, fill", "[right, 40%]5[fill, grow]", "[]5[]5[]")); first.setOpaque(false); //这个面板的border有些特殊:createTitledBorder()方法的签名可以有两个:前一个是线的类型,后面一个是标题文本。 Border result = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "修改信息: "); first.setBorder(result); //把first加到contentPane里面 add(first, "cell 0 0, grow"); JLabel original = new JLabel("输入原密码: "); JLabel newPass = new JLabel("输入新密码: "); JLabel confirm = new JLabel("确认新密码: "); JTextField orig_field = new JTextField(); JTextField new_field = new JTextField(); JTextField confirm_field = new JTextField(); //miglayout的核心就是网格排布。用坐标来定义添加元素的位置 first.add(original, "cell 0 0, w 100!"); //add to col 0, line 0, min:pref:max width all set to 100 first.add(newPass, "cell 0 1, w 100!"); //add to col 0, line 1 first.add(confirm, "cell 0 2, w 100!"); //add to col 0, line 2 first.add(orig_field, "cell 1 0, w 150!"); //add to col 1, line 0, min:pref:max width all set to 150 first.add(new_field, "cell 1 1, w 150!"); //add to col 1, line 1 first.add(confirm_field, "cell 1 2, w 150!"); //add to col 1, line 2 //按钮面板 JPanel buttons = new JPanel(); buttons.setOpaque(false); //边缘为5像素;有两列,中间是10像素的间距,列内元素居中;有一行,行中上下对齐也是居中 buttons.setLayout(new MigLayout("insets 5, fill", "[center]10[center]", "[center]")); JButton yes = new JButton("Y. 确定"); //快捷键设为虚拟键Y,得到下划线效果 yes.setMnemonic(KeyEvent.VK_Y); JButton quit = new JButton("Q. 退出"); //快捷键设为虚拟键Q,得到下划线效果 quit.setMnemonic(KeyEvent.VK_Q); //把yes按钮加到第一列第一行,min:pref:max的大小都设为100像素 buttons.add(yes, "cell 0 0, w 100!"); //把quit按钮加到第二列第一行,min:pref:max的大小都设为100像素 buttons.add(quit, "cell 1 0, w 100!"); //把按钮面板加到contentPane里面 add(buttons, "cell 0 1, grow"); pack(); setBounds(0, 0, 500, 400); setLocationRelativeTo(null); setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { MyFrame frame = new MyFrame(); } }); }}效果是这样:
MigLayout还允许你使用辅助线来debug。把这一行:
first.setLayout(new MigLayout("insets 5, fill", "[right, 40%]5[fill, grow]", "[]5[]5[]"));改成:
first.setLayout(new MigLayout("insets 5, fill,debug", "[right, 40%]5[fill, grow]", "[]5[]5[]"));你就可以看到first面板里面的辅助线了。
谁知道photoshop软件专业术语的英文对照啊?
Photoshop 常用术语的英文翻译
一、File-(文件)
1.New-(新建)
2.Open-(打开)
3.Open As-(打开为)
4.Open Recent-(最近打开文件)
5.Close-(关闭)
6.Save-(存储)
7.Save As-(存储为)
8.Save for Web-(存储为Web所用格式)
9.Revert-(恢复)
10.Place-(置入)
11.Import-(输入)
-(1)PDF Image
-(2)Annotations-(注释)
12.Export-(输出)
13.Manage Workflow-(管理工作流程)
-(1)Check In-(登记)
-(2)Undo Check Out-(还原注销)
-(3)Upload To Server-(上载到服务器)
-(4)Add To Workflow-(添加到工作流程)
-(5)Open From Workflow-(从工作流程打开)
14.Automate-(自动)
-(1)Batch-(批处理)
-(2)Create Droplet-(创建快捷批处理)
-(3)Conditional Mode Change-(条件模式更改)
-(4)Contact Sheet-(联系表)
-(5)Fix Image-(限制图像)
-(6)Multi
-(7)Picture package-(图片包)
-(8)Web Photo Gallery
15.File Info-(文件简介)
16.Print Options-(打印选项)
17.Page Setup-(页面设置)
18.Print-(打印)
19.Jump to-(跳转到)
20.Exit-(退出)
二、Edit-(编辑)
1.Undo-(还原)
2.Step Forward-(向前)
3.Step Backward-(返回)
4.Fade-(消退)
5.Cut-(剪切)
6.Copy-(拷贝)
7.Copy Merged-(合并拷贝)
8.Paste-(粘贴)
9.Paste Into-(粘贴入)
10.Clear-(清除)
11.Fill-(填充)
12.Stroke-(描边)
13.Free Transform-(自由变形)
14.Transform-(变换)
-(1)Again-(再次)
-(2)Sacle-(缩放)
-(3)Rotate-(旋转)
-(4)Skew-(斜切)
-(5)Distort-(扭曲)
-(6)Prespective-(透视)
-(7)Rotate 180°-(旋转180度)
-(8)Rotate 90°CW-(顺时针旋转90度)
-(9)Rotate 90°CCW-(逆时针旋转90度)
-(10) Flip Hpeizontal-(水平翻转)
-(11) Flip Vertical-(垂直翻转)
15.Define Brush-(定义画笔)
16.Define Pattern-(设置图案)
17.Define Custom Shape-(定义自定形状)
18.Purge-(清除内存数据)
-(1) Undo-(还原)
-(2) Clipboard-(剪贴板)
-(3) Histories-(历史纪录)
-(4) All-(全部)
19.Color Settings-(颜色设置)
20.Preset Manager-(预置管理器)
21.Preferences-(预设)
-(1) General-(常规)
-(2) Saving Files-(存储文件)
-(3) Display & Cursors-(显示与光标)
-(4) Transparency & Gamut-(透明区域与色域)
-(5) Units & Rulers-(单位与标尺)
-(6) Guides & Grid-(参考线与网格)
-(7) Plug
-(8) Memory & Image Cache-(内存和图像高速缓存)
-(9) Adobe Online
-(10) Workflows Options-(工作流程选项)
三、Image-(图像)
1.Mode-(模式)
-(1) Bitmap-(位图)
-(2) Grayscale-(灰度)
-(3) Duotone-(双色调)
-(4) Indexed Color-(索引色)
-(5) RGB Color
-(6) CMYK Color
-(7) Lab Color
-(8) Multichannel-(多通道)
-(9) 8 Bits/Channel-(8位通道)
-(10) 16 Bits/Channel-(16位通道)
-(11) Color Table-(颜色表)
-(12)Assing Profile-(制定配置文件)
-(13)Convert to Profile-(转换为配置文件)
2.Adjust-(调整)
-(1) Levels-(色阶))
-(2) Auto Laves-(自动色阶)
-(3) Auto Contrast-(自动对比度)
-(4) Curves-(曲线))
-(5) Color Balance-(色彩平衡)
-(6) Brightness/Contrast-(亮度/对比度)
-(7) Hue/Saturation-(色相/饱和度)
-(8) Desaturate-(去色)
-(9) Replace Color-(替换颜色)
-(10) Selective Color-(可选颜色)
-(11) Channel Mixer-(通道混合器)
-(12) Gradient Map-(渐变映射)
-(13) Invert-(反相)
-(14) Equalize-(色彩均化)
-(15) Threshold-(阈值)
-(16) Posterize-(色调分离)
-(17) Variations-(变化)
3.Duplicate-(复制)
4.Apply Image-(应用图像)
5.Calculations-(计算)
6.Image Size-(图像大小)
7.Canvas Size-(画布大小)
8.Rotate Canvas-(旋转画布)
-(1) 180°-(180度)
-(2) 90°CW-(顺时针90度)
-(3) 90°CCW-(逆时针90度)
-(4) Arbitrary-(任意角度)
-(5) Flip Horizontal-(水平翻转)
-(6) Flip Vertical-(垂直翻转)
9.Crop-(裁切)
10.Trim-(修整)
11.Reverl All-(显示全部)
12.Histogram-(直方图)
13.Trap-(陷印)
14.Extract-(抽出)
15.Liquify-(液化)
四、Layer-(图层)
1.New-(新建)
-(1) Layer-(图层)
-(2) Background From Layer-(背景图层)
-(3) Layer Set-(图层组)
-(4) Layer Set From Linked-(图层组来自链接的)
-(5) Layer via Copy-(通过拷贝的图层)
-(6) Layer via Cut-(通过剪切的图层)
2.Duplicate Layer-(复制图层)
3.Delete Layer-(删除图层)
4.Layer Properties-(图层属性)
5.Layer Style-(图层样式)
-(1) Blending Options-(混合选项)
-(2) Drop Shadow-(投影)
-(3) Inner Shadow-(内阴影)
-(4) Outer Glow-(外发光)
-(5) Inner Glow-(内发光)
-(6) Bevel and Emboss-(斜面和浮雕)
-(7) Satin-(光泽)
-(8) Color Overlay-(颜色叠加)
-(9) Gradient Overlay-(渐变叠加)
-(10) Pattern Overlay-(图案叠加)
-(11) Stroke-(描边)
-(12) Copy Layer Effects-(拷贝图层样式)
-(13) Paste Layer Effects-(粘贴图层样式)
-(14) Paste Layer Effects To Linked-(将图层样式粘贴的链接的)
-(15) Clear Layer Effects-(清除图层样式)
-(16) Global Light-(全局光)
-(17) Create Layer-(创建图层)
-(18) Hide All Effects-(显示/隐藏全部效果)
-(19) Scale Effects-(缩放效果)
6.New Fill Layer-(新填充图层)
-(1) Solid Color-(纯色)
-(2) Gradient-(渐变)
-(3) Pattern-(图案)
7.New Adjustment Layer-(新调整图层)
-(1)Levels-(色阶)
-(2)Curves-(曲线)
-(3)Color Balance-(色彩平衡)
-(4)Brightness/Contrast-(亮度/对比度)
-(5)Hue/Saturation-(色相/饱和度)
-(6)Selective Color-(可选颜色)
-(7)Channel Mixer-(通道混合器)
-(8)Gradient Map-(渐变映射)
-(9)Invert-(反相)
-(10)Threshold-(阈值)
-(11)Posterize-(色调分离)
8.Change Layer Content-(更改图层内容)
9.Layer Content Options-(图层内容选项)
10.Type-(文字)
-(1) Create Work Path-(创建工作路径)
-(2) Convert to Shape-(转变为形状)
-(3) Horizontal-(水平)
-(4) Vertical-(垂直)
-(5) Anti-Alias None-(消除锯齿无)
-(6) Anti-Alias Crisp-(消除锯齿明晰)
-(7) Anti-Alias Strong-(消除锯齿强)
-(8) Anti-Alias Smooth-(消除锯齿平滑)
-(9) Covert To Paragraph Text-(转换为段落文字)
-(10) Warp Text-(文字变形)
-(11)Update All Text Layers-(更新所有文本图层)
-(12)Replace All Missing Fonts-(替换所以缺欠文字)
11.Rasterize-(栅格化)
-(1)Type-(文字)
-(2)Shape-(形状)
-(3)Fill Content-(填充内容)
-(4)Layer Clipping Path-(图层剪贴路径)
-(5)Layer-(图层)
-(6)Linked Layers-(链接图层)
-(7)All Layers-(所以图层)
12.New Layer Based Slice-(基于图层的切片)
13.Add Layer Mask-(添加图层蒙板)
-(1) Reveal All-(显示全部)
-(2) Hide All-(隐藏全部)
-(3) Reveal Selection-(显示选区)
-(4) Hide Selection-(隐藏选区)
14.Enable Layer Mask-(启用图层蒙板)
15.Add Layer Clipping Path-(添加图层剪切路径)
-(1)Reveal All-(显示全部)
-(2)Hide All-(隐藏全部)
-(3)Current Path-(当前路径)
16.Enable Layer Clipping Path-(启用图层剪切路径)
17.Group Linked-(于前一图层编组)
18.UnGroup-(取消编组)
19.Arrange-(排列)
-(1) Bring to Front-(置为顶层)
-(2) Bring Forward-(前移一层)
-(3) Send Backward-(后移一层)
-(4) Send to Back-(置为底层)
20.Arrange Linked-(对齐链接图层)
-(1) Top Edges-(顶边)
-(2) Vertical Center-(垂直居中)
-(3) Bottom Edges-(底边)
-(4) Left Edges-(左边)
-(5) Horizontal Center-(水平居中)
-(6) Right Edges-(右边)
21.Distribute Linked-(分布链接的)
-(1) Top Edges-(顶边)
-(2) Vertical Center-(垂直居中)
-(3) Bottom Edges-(底边)
-(4) Left Edges-(左边)
-(5) Horizontal Center-(水平居中)
-(6) Right Edges-(右边)
22.Lock All Linked Layers-(锁定所有链接图层)
23.Merge Linked-(合并链接图层)
24.Merge Visible-(合并可见图层)
25.Flatten Image-(合并图层)
26.Matting-(修边)
-(1) Define-(去边)
-(2) Remove Black Matte-(移去黑色杂边)
-(3) Remove White Matte-(移去白色杂边)
五、Selection-(选择)
1.All-(全部)
2.Deselect-(取消选择)
3.Reselect-(重新选择)
4.Inverse-(反选)
5.Color Range-(色彩范围)
6.Feather-(羽化)
7.Modify-(修改)
-(1) Border-(扩边)
-(2) Smooth-(平滑)
-(3) Expand-(扩展)
-(4) Contract-(收缩)
8.Grow-(扩大选区)
9.Similar-(选区相似)
10.Transform Selection-(变换选区)
11.Load Selection-(载入选区)
12.Save Selection-(存储选区)
六、Filter-(滤镜)
1.Last Filter-(上次滤镜操作)
2.Artistic-(艺术效果)
-(1) Colored Pencil-(彩色铅笔)
-(2) Cutout-(剪贴画)
-(3) Dry Brush-(干笔画)
-(4) Film Grain-(胶片颗粒)
-(5) Fresco-(壁画)
-(6) Neon Glow-(霓虹灯光)
-(7) Paint Daubs-(涂抹棒)
-(8) Palette Knife-(调色刀)
-(9) Plastic Wrap-(塑料包装)
-(10) Poster Edges-(海报边缘)
-(11) Rough Pastels-(粗糙彩笔)
-(12) Smudge Stick-(绘画涂抹)
-(13) Sponge-(海绵)
-(14) Underpainting-(底纹效果)
-(15) Watercolor-(水彩)
3.Blur-(模糊)
-(1) Blur-(模糊)
-(2) Blur More-(进一步模糊)
-(3) Gaussian Blur-(高斯模糊)
-(4) Motion Blur-(动态模糊)
-(5) Radial Blur-(径向模糊)
-(6) Smart Blur-(特殊模糊)
4.Brush Strokes-(画笔描边)
-(1) Accented Edges-(强化边缘)
-(2) Angled Stroke-(成角的线条)
-(3) Crosshatch-(阴影线)
-(4) Dark Strokes-(深色线条)
-(5) Ink Outlines-(油墨概况)
-(6) Spatter-(喷笔)
-(7) Sprayed Strokes-(喷色线条)
-(8) Sumi
5.Distort-(扭曲)
-(1) Diffuse Glow-(扩散亮光)
-(2) Displace-(置换)
-(3) Glass-(玻璃)
-(4) Ocean Ripple-(海洋波纹)
-(5) Pinch-(挤压)
-(6) Polar Coordinates-(极坐标)
-(7) Ripple-(波纹)
-(8) Shear-(切变)
-(9) Spherize-(球面化)
-(10) Twirl-(旋转扭曲)
-(11) Wave-(波浪)
-(12) Zigzag-(水波)
6.Noise-(杂色)
-(1) Add Noise-(加入杂色)
-(2) Despeckle-(去斑)
-(3) Dust & Scratches-(蒙尘与划痕)
-(4) Median-(中间值)
7.Pixelate-(像素化)
-(1) Color Halftone-(彩色半调)
-(2) Crystallize-(晶格化)
-(3) Facet-(彩块化)
-(4) Fragment-(碎片)
-(5) Mezzotint-(铜版雕刻)
-(6) Mosaic-(马赛克)
-(7) Pointillize-(点状化)
8.Render-(渲染)
-(1) 3D Transform-(3D 变换)
-(2) Clouds-(云彩)
-(3) Difference Clouds-(分层云彩)
-(4) Lens Flare-(镜头光晕)
-(5) Lighting Effects-(光照效果)
-(6) Texture Fill-(纹理填充)
9.Sharpen-(锐化)
-(1) Sharpen-(锐化)
-(2) Sharpen Edges-(锐化边缘)
-(3) Sharpen More-(进一步锐化)
-(4) Unsharp Mask
10.Sketch-(素描)
-(1) Bas Relief-(基底凸现)
-(2) Chalk & Charcoal-(粉笔和炭笔)
-(3) Charcoal
-(3) Chrome-(铬黄)
-(4) Conte Crayon-(彩色粉笔)
-(5) Graphic Pen-(绘图笔)
-(6) Halftone Pattern-(半色调图案)
-(7) Note Paper-(便条纸)
-(8) Photocopy-(副本)
-(9) Plaster-(塑料效果)
-(10) Reticulation-(网状)
-(11) Stamp-(图章)
-(12) Torn Edges-(撕边)
-(13) Water Paper-(水彩纸)
11.Stylize-(风格化)
-(1) Diffuse-(扩散)
-(2) Emboss-(浮雕)
-(3) Extrude-(突出)
-(4) Find Edges-(查找边缘)
-(5) Glowing Edges-(照亮边缘)
-(6) Solarize-(曝光过度)
-(7) Tiles-(拼贴)
-(8) Trace Contour-(等高线)
-(9) Wind-(风)
12.Texture-(-(纹理)
-(1) Craquelure-(龟裂缝)
-(2) Grain-(颗粒)
-(3) Mosained Tiles-(马赛克拼贴)
-(4) Patchwork-(拼缀图)
-(5) Stained Glass-(染色玻璃)
-(6) Texturixer-(纹理化)
13.Video-(视频)
-(1) De
-(2) NTSC Colors
14.Other-(其它)
-(1) Custom-(自定义)
-(2) High Pass-(高反差保留)
-(3) Maximum-(最大值)
-(4) Minimum-(最小值)
-(5) Offset-(位移)
15.Digimarc
-(1)Embed Watermark-(嵌入水印)
-(2)Read Watermark-(读取水印)
七、View-(视图)
1.New View-(新视图)
2.Proof Setup-(校样设置)
-(1)Custom-(自定)
-(2)Working CMYK-(处理CMYK)
-(3)Working Cyan Plate-(处理青版)
-(4)Working Magenta Plate-(处理洋红版)
-(5)Working Yellow Plate-(处理黄版)
-(6)Working Black Plate-(处理黑版)
-(7)Working CMY Plate-(处理CMY版)
-(8)Macintosh RGB
-(9)Windows RGB
-(10)Monitor RGB-(显示器RGB)
-(11)Simulate Paper White-(模拟纸白)
-(12)Simulate Ink Black-(模拟墨黑)
3.Proof Color-(校样颜色)
4.Gamut Wiring-(色域警告)
5.Zoom In-(放大)
6.Zoom Out-(缩小)
7.Fit on Screen-(满画布显示)
8.Actual Pixels-(实际象素)
9.Print Size-(打印尺寸)
10.Show Extras-(显示额外的)
11.Show-(显示)
-(1) Selection Edges-(选区边缘)
-(2) Target Path-(目标路径)
-(3) Grid-(网格)
-(4) Guides-(参考线)
-(5) Slices-(切片)
-(6) Notes-(注释)
-(7) All-(全部)
-(8) None-(无)
-(9)Show Extras Options-(显示额外选项)
12.Show Rulers-(显示标尺)
13.Snap-(对齐)
14.Snap To-(对齐到)
-(1) Guides-(参考线)
-(2) Grid-(网格)
-(3) Slices-(切片)
-(4) Document Bounds-(文档边界)
-(5) All-(全部)
-(6) None-(无)
15.Show Guides-(锁定参考线)
16.Clear Guides-(清除参考线)
17.New Guides-(新参考线)
18.Lock Slices-(锁定切片)
19.Clear Slices-(清除切片)
八、Windows-(窗口)
1.Cascade-(层叠)
2.Tile-(拼贴)
3.Arrange Icons-(排列图标)
4.Close All-(关闭全部)
5.Show/Hide Tools-(显示/隐藏工具)
6.Show/Hide Options-(显示/隐藏选项)
7.Show/Hide Navigator-(显示/隐藏导航)
8.Show/Hide Info-(显示/隐藏信息)
9.Show/Hide Color-(显示/隐藏颜色)
10.Show/Hide Swatches-(显示/隐藏色板)
11.Show/Hide Styles-(显示/隐藏样式)
12.Show/Hide History-(显示/隐藏历史记录)
13.Show/Hide Actions-(显示/隐藏动作)
14.Show/Hide Layers-(显示/隐藏图层)
15.Show/Hide Channels-(显示/隐藏通道)
16.Show/Hide Paths-(显示/隐藏路径)
17.Show/Hide Character-(显示/隐藏字符)
18.Show/Hide Paragraph-(显示/隐藏段落)
19.Show/Hide Status Bar-(显示/隐藏状态栏)
20.Reset Palette Locations-(复位调板位置)
Button组件
饿了么的Element组件库,我打算的是一个一个的尽量分析吧,因为只是分析,架构上可能会不太一样。官方的架构方法可以看 这篇文章 。
首先,我 不会使用lerna ,来管理多个独立的项目。只会类似于平时开发常用组件一样,把一个组件放在一个文件夹里面,这个组件需要的 scss, images 啊什么的,都放在一起。
其次,应该 不会使用postcss-salad,我会翻译成相同功能的scss 吧。分析的主要目的还是学习,所以怎么方便怎么来,只是看它实现的思路,不用太过于在意细节。
Button组件的分析,可以了解一些新的东西 1. 对于SCSS中mixin的使用,以及工具方法mix() 2. 对于loading字体图标的动画,animation, 无限次上下翻转 3. line-height设置没有单位的数值,会怎样计算行高 4. 对slot的使用,怎么利用$slots.default等 5. pointer-events的作用 6. 接口的设计思想,为什么字体图标和loading要分开写
首先声明一些常用的css属性值,归纳下有以下几类: colors: 设定常见的颜色
border:
剩下的就是不同类型的按钮的color, fill, border颜色值了。
这两个值会在hover, focus等状态时,设置颜色使用。
首先看下Button组件的模板template
通用的css样式
好了,下面就来进入正题,Button组件的几个设计要点
1. button的尺寸大小
和Bootstrap一样,实现方法其实都是不同的尺寸大小,有不同的类名,设定不同的尺寸。对于Bootstrap,你可能需要显示的把类名写完整,而对于Vue组件,给props传入值就好了,会动态的生成不同的类名,相比更简单点。
我们仔细看button的公共样式,并没有设置宽高,对于大小有关的,就是line-height了,至于为什么是设置为 1,可以看 这篇
一句话总结就是,当line-height设没有单位的值的时候,就根据button的font-size,来计算高度,font-size有多大,button的行高就有多高。
接下来, button就给不同的大小,设定不同的上下左右padding 。这里就有一个需要注意的了,我们需要重复写很多相同的css吗,每个尺寸的类名下面都重新写一次padding, font-size, 当然不是!!!既然都用SCSS了,为什么不用 mixin 呢???
所以,写一个font-size的mixin:
但是,后面我就犯傻了,还是scss用的不熟练的原因,我想,既然large, small, mini都是差不多的,只是改变一点不同的地方,为什么不用循环呢???但是尝试了过后发现,好像并不可以,在循环的时候,通过循环的变量,动态改变css选择器可以,动态改变属性值也是可以的,但是对于已经定义好的变量,不能这样拼接。。。
2. button类型(颜色倾向)
同样,还是写一个mixin, 不过这里面有一个就是,在设置hover, focus状态的样式时,通过mix()函数来混合颜色,这个以前倒是没有用过。
3. 图标按钮和loading状态
这里面涉及了一个设计的问题,开始的时候我在考虑,为什么要加一个loading的prop呢?直接通过设置icon为loading也可以啊。
但是,想一下,在实际的应用中的使用场景,常常时点击后,ajax请求数据,完成后结束loading状态,所以,试想,到底是在这期间改变icon的值好呢,还是直接通过一个computed属性,动态设置loading的boolean值好呢???对吧,虽然只是很小的细节,但对于后面的使用来说,易用性完全不一样呐
还有一点,对于loading按钮,设置了css3属性,pointer-events: none,相当于直接去除了onclick点击效果。
4.内容分发slot
注意模板中的内容分发这句,其实 写的非常的漂亮!!! 想一想,我们要实现一个按钮组件,是不是需要一个slot来放外部环境传入的按钮文字。
接着,我们要实现图标按钮,图标和按钮文字之间肯定要隔一段距离啊,但是slot,css选择器没办法查找到啊,没办法,加个span标签包裹slot吧
看着好像差不多了,但是,如果图标按钮只有图标没有文字呢???图标按钮i后面接着的span标签还是会产生5px距离啊,button莫名就给撑开了。
所以啊,v-if 判断的用处就来了,通过判断$slots.default来判断有没有传入按钮文字,有,才添加span节点。。。。
6啊,对内容分发的理解又加深了很多啊!!!!
5.按钮组 其实,按钮组已经是一个新的组件了,相当于是组件之间的嵌套。
对于button-group组件中的button子组件,左浮动,清除圆角,再首尾按钮添加圆角。
对于button边框的间隔,首节点设置右边框,尾节点设置左边框,中间的margin-right: -1px, 就实现了按钮组中按钮间的1px白色边框间隔了。
th {margin: 0px; padding: 0px; border: 0px currentColor;}后面的bordor中的currentColor是什么意思?
border 的三个值分别是指 边框线颜色,边框线宽度以及边框线样式
CSS1和CSS2定义了‘border-color’属性的初始值为其‘color’属性的值,但是没有定义其相应的关键字。这一疏忽被SVG发现了,也因此SVG 1.0介绍了‘fill’、‘stroke’、‘stop-color’、‘flood-color’、‘lighting-color’属性中的‘currentColor’值。CSS3在扩展颜色值时引入了‘currentColor’关键字,以此允许其用在所有接受
值的属性上。它简化了CSS3属性的定义。
currentColor
‘color’属性的值。其计算值是当前‘color’属性的值。如果‘currentColor’被设置在‘color’属性上,则其相当于‘color:inherit’。
TCPDF如何将生成的PDF文件保存到服务器?
functioncreatePdfFile($frontData)
{
/*新建一个pdf文件:
Orientation:orientation属性用来设置文档打印格式是“Portrait”还是“Landscape”。 Landscape为横式打印,Portrait为纵向打印
Unit:设置页面的单位。pt:点为单位,mm:毫米为单位,cm:厘米为单位,in:英尺为单位
Format:设置打印格式,一般设置为A4
Unicode:为true,输入的文本为Unicode字符文本
Encoding:设置编码格式,默认为utf-8
Diskcache:为true,通过使用文件系统的临时缓存数据减少RAM的内存使用。 */
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT,true, 'UTF-8', false);
//设置文件信息
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor("jmcx");
$pdf->SetTitle("pdf test");
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
//删除预定义的打印 页眉/页尾
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
//设置默认等宽字体
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
/*设置页面边幅:
Left:左边幅
Top:顶部边幅
Right:右边幅
Keepmargins:为true时,覆盖默认的PDF边幅。 */
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP,PDF_MARGIN_RIGHT);
/*设置单元格的边距:
Left:左边距
Top:顶部边距
Right:右边距
Bottom:底部边距。*/
$pdf->setCellPaddings(0, 0, 0, 0);
//GetX获得当前的横坐标,GetY获得当前的纵坐标。
// $pdf->GetX();
// $pdf->GetY();
/*移动坐标。SetX移动横坐标。 SetY,横坐标自动移动到左边距的距离,然后移动纵坐标。SetXY,移动横坐标跟纵坐标:
X:横坐标,可设为$pdf->GetX()+数字
Y:纵坐标,可设为$pdf->GetY()+数字
Rtloff:true,左上角会一直作为坐标轴的原点
Resetx:true,重设横坐标。 */
// $pdf->SetX($x, $rtloff=false);
// $pdf->SetY($y, $resetx=true, $rtloff=false);
// $pdf->SetXY($x, $y, $rtloff=false)
/*设置线条的风格:
Width:设置线条粗细
Cap:设置线条的两端形状
Join:设置线条连接的形状
Dash:设置虚线模式
Color:设置线条颜色,一般设置为黑色,如:array(0, 0, 0)。*/
$pdf->SetLineStyle(array('width' => 0.2, 'cap' => 'butt', 'join' => 'miter', 'dash' => '0', 'color' => array(0, 0,0)));
/*画一条线:
x1:线条起点x坐标
y1:线条起点y坐标
x2:线条终点x坐标
y2:线条终点y坐标
style:SetLineStyle的效果一样
*/
// $pdf->Line($x1, $y1, $x2, $y2, $style=array());
/*执行一个换行符,横坐标自动移动到左边距的距离,纵坐标换到下一行:
H:设置下行跟上一行的距离,默认的话,高度为最后一个单元格的高度
Cell:true,添加左或右或上的间距到横坐标。 */
// $pdf->Ln($h='', $cell=false);
//设置自动分页符
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
//设置图像比例因子
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
//设置一些语言相关的字符串
// $pdf->setLanguageArray("xx");
/*设置字体:
字体类型(如helvetica(Helvetica)黑体,times (Times-Roman)罗马字体)、风格(B粗体,I斜体,underline下划线等)、字体大小 */
$pdf->SetFont('times', 'I', 20);
/*增加一个页面:
Orientation:orientation属性用来设置文档打印格式。 Landscape为横式打印,Portrait为纵向打印。
Format:设置此页面的打印格式。
Keepmargins:true,以当前的边幅代替默认边幅来重写页面边幅。
Tocpage:true,所添加的页面将被用来显示内容表。*/
$pdf->AddPage();
/*设置单行单元格:
W:设置单元格的宽
H:设置单元格的高
Text:单元格文本
Border:设置单元格的边框。0,无边框,1,一个框,L,左边框,R,右边框,B, 底边框,T,顶边框,LTRB指四个边都显示
Ln:0,单元格后的内容插到表格右边或左边,1,单元格的下一行,2,在单元格下面
Align:文本位置。L,左对齐,R,右对齐,C,居中,J,自动对齐
Fill:填充。false,单元格的背景为透明,true,单元格必需被填充
Link:设置单元格文本的链接。*/
$pdf->Cell(0, 10, 'test', 1, 1, 'C');
/*设置多行单元格。注意跟Cell的参数位置有些差别,Cell是用来输出单行文本的,MultiCell就能用来输出多行文本
W:设置多行单元格的宽
H: 设置多行单元格的单行的高
Text:文本
Border:边框
Align:文本位置
Fill:填充
Ln:0,单元格后的内容插到表格右边或左边,1,单元格的下一行,2,在单元格下面
X:设置多行单元格的行坐标
Y:设置多行单元格的纵坐标
Reseth:true,重新设置最后一行的高度
Stretch:调整文本宽度适应单元格的宽度
Ishtml:true,可以输出html文本,有时很有用的
Autopadding:true,自动调整文本与单元格之间的距离
Maxh:设置单元格最大的高度
Valign:设置文本在纵坐标中的位置,T,偏上,M,居中,B,偏下
Fillcell:自动调整文本字体大小来适应单元格大小。 */
// $pdf->MultiCell($w, $h, $txt, $border=0, $align='J',$fill=false, $ln=1, $x='', $y='', $reseth=true, $stretch=0,$ishtml=false, $autopadding=true, $maxh=0, $valign='T', $fitcell=false);
// setCellHeightRatio设置单元格行高,可以引用此函数调整行与行的间距。SetLineWidth设置线条宽度。
// $pdf->setCellHeightRatio($h);
// $pdf->SetLineWidth($width);
/*在PDF中,插入图片,参数列表如下;
File:图片路径。
X:左上角或右上角的横坐标。
Y:左上角或右上角的纵坐标。
W:设置图片的宽度,为空或为0,则自动计算。
H:设置图片的高度,为空或为0,则自动计算。
Type:图片的格式,支持JPGE,PNG,BMP,GIF等,如果没有值,则从文件的扩展名中自动找到文件的格式。
Link:图片链接。
Align:图片位置。
Resize:true,调整图片的大小来适应宽跟高;false,不调整图片大小;2,强制调整。
Dpi:以多少点每英寸来调整图片大小。
Palign:图片位置,L,偏左,C,居中,R,偏右
Imgmask:true,返回图像对象。
Border:边框。
Fitbox:调整适合大小。
Hidden:true,隐藏图片。
Fitonpage:如果为true,图像调整为不超过页面尺寸。 */
$pdf->Image('../img/test.png');
/*输出HTML文本:
Html:html文本
Ln:true,在文本的下一行插入新行
Fill:填充。false,单元格的背景为透明,true,单元格必需被填充
Reseth:true,重新设置最后一行的高度
Cell:true,就调整间距为当前的间距
Align:调整文本位置。 */
$pdf->writeHTML("
");
/*用此函数可以设置可选边框,背景颜色和HTML文本字符串来输出单元格(矩形区域)
W:设置单元格宽度。0,伸展到右边幅的距离
H:设置单元格最小的高度
X:以左上角为原点的横坐标
Y:以左上角为原点的纵坐标
Html:html文本
Border:边框
Ln:0,单元格后的内容插到表格右边或左边,1,单元格的下一行,2,在单元格下面
Fill:填充
Reseth:true,重新设置最后一行的高度
Align:文本的位置
Autopadding:true,自动调整文本到边框的距离。 */
$pdf->writeHTMLCell();
/*输入PDF文档 :
Name:PDF保存的名字
Dest:PDF输出的方式。I,默认值,在浏览器中打开;D,点击下载按钮, PDF文件会被下载下来;F,文件会被保存在服务器中;S,PDF会以字符串形式输出;E:PDF以邮件的附件输出。 */
return $pdf->Output("test001.pdf", "F");
}