Java Tutorial/PDF/Path
Версия от 17:44, 31 мая 2010; (обсуждение)
Close a path
import java.io.FileOutputStream;
import com.lowagie.text.Document;
import com.lowagie.text.pdf.GrayColor;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfWriter;
public class MainClass {
public static void main(String[] args) throws Exception {
Document.rupress = false;
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
document.open();
PdfContentByte cb = writer.getDirectContent();
constructStar(cb, 30, 720);
cb.fill();
document.close();
}
public static void constructStar(PdfContentByte cb, float x, float y) {
cb.moveTo(x + 10, y);
cb.lineTo(x + 80, y + 60);
cb.lineTo(x, y + 60);
cb.lineTo(x + 70, y);
cb.lineTo(x + 40, y + 90);
cb.closePath();
}
}
Fill a star shape
import java.io.FileOutputStream;
import com.lowagie.text.Document;
import com.lowagie.text.pdf.GrayColor;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfWriter;
public class MainClass {
public static void main(String[] args) throws Exception {
Document.rupress = false;
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
document.open();
PdfContentByte cb = writer.getDirectContent();
constructStar(cb, 30, 720);
cb.newPath();
document.close();
}
public static void constructStar(PdfContentByte cb, float x, float y) {
cb.moveTo(x + 10, y);
cb.lineTo(x + 80, y + 60);
cb.lineTo(x, y + 60);
cb.lineTo(x + 70, y);
cb.lineTo(x + 40, y + 90);
cb.closePath();
}
}
Shape star
import java.io.FileOutputStream;
import com.lowagie.text.Document;
import com.lowagie.text.pdf.GrayColor;
import com.lowagie.text.pdf.PdfContentByte;
import com.lowagie.text.pdf.PdfWriter;
public class MainClass {
public static void main(String[] args) throws Exception {
Document.rupress = false;
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("2.pdf"));
document.open();
PdfContentByte cb = writer.getDirectContent();
constructStar(cb, 30, 720);
cb.eoFill();
document.close();
}
public static void constructStar(PdfContentByte cb, float x, float y) {
cb.moveTo(x + 10, y);
cb.lineTo(x + 80, y + 60);
cb.lineTo(x, y + 60);
cb.lineTo(x + 70, y);
cb.lineTo(x + 40, y + 90);
cb.closePath();
}
}