CS代写 package src;

package src;

import java.awt.Color;
import java.awt.Dimension;

Copyright By PowCoder代写 加微信 powcoder

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.Random;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.SwingUtilities;

public abstract class Line {

* Line – a demo program for drawing lines
* Created by Creath 2009, 2017
* Modified by 2022

static Dimension dim = new Dimension(640, 480);

abstract void line(BufferedImage buf, int x0, int y0, int x1, int y1,

public void refLine(BufferedImage buf, int x0, int y0, int x1, int y1, int rgb) {
* This is the reference implementation we are going to try and match.
Graphics g = buf.getGraphics();
g.setColor(new Color(rgb));
g.drawLine(x0, y0, x1, y1);

public void studentDrawLine(BufferedImage buf, int x0, int y0, int x1, int y1, int rgb) {
* Add your code here
* Your code should draw a line from (x0, y0) to (x1, y1) using the color rgb into buf.
* You may assume that the points are within the buffer.

* To set a pixel at location (x,y) to color rgb just use
* buf.setRGB(x,y,rgb);

* hint: You will probably need to handle multiple cases. There are eight octants to may
* need to consider, but it can be solved using just two cases.

// add your solution here…

public static void main(String[] args) throws InterruptedException {
Runnable run = new Runnable() {

public void run() {

// boiler plate to get us started…
// this just created a buffer which we can draw into.

JFrame jframe;
final BufferedImage offscreen1, offscreen2, offscreen3;
JComponent canvas1, canvas2, canvas3;

// set up the jframe and bufferedimages
JTabbedPane jtp = new JTabbedPane();

jframe = new JFrame(“Line Drawing”);
offscreen1 = new BufferedImage(dim.width, dim.height,
BufferedImage.TYPE_INT_RGB);
offscreen2 = new BufferedImage(dim.width, dim.height,
BufferedImage.TYPE_INT_RGB);
offscreen3 = new BufferedImage(dim.width, dim.height,
BufferedImage.TYPE_INT_RGB);
JPanel mainpanel = new JPanel();
canvas1 = new JComponent() {
public void paint(Graphics g) {
g.drawImage(offscreen1, 0, 0, null);
canvas1.setSize(dim);
canvas1.setPreferredSize(dim);
canvas2 = new JComponent() {
public void paint(Graphics g) {
g.drawImage(offscreen2, 0, 0, null);
canvas2.setSize(dim);
canvas2.setPreferredSize(dim);
canvas3 = new JComponent() {
public void paint(Graphics g) {
g.drawImage(offscreen3, 0, 0, null);
canvas3.setSize(dim);
canvas3.setPreferredSize(dim);

jtp.add(“Graphics \”drawLine\” method”, canvas1);
jtp.add(“Your line method”, canvas2);
jtp.add(“difference”, canvas3);

mainpanel.add(jtp);

jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
(jframe.getContentPane()).add(new JScrollPane(mainpanel));
jframe.pack();
jframe.setVisible(true);

// clear the offscreen images

Graphics g = offscreen1.getGraphics();
g.setColor(new Color(1.0f, 1.0f, 1.0f));
g.fillRect(0, 0, offscreen1.getWidth(), offscreen1.getHeight());

g = offscreen2.getGraphics();
g.setColor(new Color(1.0f, 1.0f, 1.0f));
g.fillRect(0, 0, offscreen2.getWidth(), offscreen2.getHeight());

// code for using the inbuilt line drawing code
Line javaLine = new Line() {
void line(BufferedImage buf, int x0, int y0, int x1, int y1, int rgb) {
Graphics g = buf.getGraphics();
g.setColor(new Color(rgb));
g.drawLine(x0, y0, x1, y1);
// student version
Line studentLine = new Line() {
void line(BufferedImage buf, int x0, int y0, int x1, int y1, int rgb) {
this.studentDrawLine(buf, x0, y0, x1, y1, rgb);

// draw the two images
drawlines(javaLine, offscreen1);
canvas1.repaint();
drawlines(studentLine, offscreen2);
canvas2.repaint();

// dot the second image with blue where it is different
System.out.println(dotDifference(offscreen1, offscreen2, offscreen3)
+ ” differences found.”);
canvas2.repaint();

// do the speed test
speedtest(javaLine);
System.out.println(“Speed of lineJava (ms): ” + speedtest(javaLine));
speedtest(studentLine);
System.out.println(“Speed of line (ms) : ” + speedtest(studentLine));

SwingUtilities.invokeLater(run);

private static double speedtest(Line line) { // ms for drawing one scene
BufferedImage buf = new BufferedImage(dim.width, dim.height,
BufferedImage.TYPE_INT_RGB);
long start = System.nanoTime();
int numtest = 1000;
for (int i = 0; i < numtest; i++) { Graphics g = buf.getGraphics(); g.setColor(new Color(1.0f, 1.0f, 1.0f)); g.fillRect(0, 0, buf.getWidth(), buf.getHeight()); drawlines(line, buf); long end = System.nanoTime(); return ((end - start) / 1000000.0) / numtest ; private static int dotDifference(BufferedImage s1, BufferedImage s2, BufferedImage s3) { int res = 0; int blue = (new Color(0.0f, 0.0f, 1.0f)).getRGB(); int white = (new Color(1.0f, 1.0f, 1.0f)).getRGB(); for (int x = 0; x < s1.getWidth(); x++) { for (int y = 0; y < s1.getHeight(); y++) { if (s1.getRGB(x, y) != s2.getRGB(x, y)) { s3.setRGB(x, y, blue); // only show difference Color c = new Color(s1.getRGB(x, y)); float r = (9.0f + c.getRed()/255.0f) / 10.0f; float g = (9.0f + c.getGreen()/255.0f) / 10.0f; float b = (9.0f + c.getBlue()/255.0f) / 10.0f; c = new Color(r, g, b); s3.setRGB(x, y, c.hashCode()); return res; static void drawlines(Line lr, BufferedImage buf) { int rgb = (new Color(0.0f, 0.0f, 0.0f)).getRGB(); int red = (new Color(1.0f, 0.0f, 0.0f)).getRGB(); int green = (new Color(0.0f, 1.0f, 0.0f)).getRGB(); for (double t = 0.0; t < Math.PI * 2.0; t += Math.PI / 16.0) { lr.line(buf, 100 + (int) (Math.sin(t) * 15.0), 100 + (int) (Math .cos(t) * 15.0), 100 + (int) (Math.sin(t) * 85.0), 100 + (int) (Math.cos(t) * 85.0), red); Random r = new Random(1); for (int i=0;i<1000;i++) { int x = r.nextInt(buf.getWidth()-41)+20; int y = r.nextInt(buf.getHeight()/2)+buf.getHeight()/2 -20; int dx = r.nextInt(41)-20; int dy = r.nextInt(41)-20; lr.line(buf,x,y,x+dx,y+dy,green); lr.line(buf, 356, 118, 355, 116, rgb); lr.line(buf, 355, 116, 354, 116, rgb); lr.line(buf, 354, 116, 354, 116, rgb); lr.line(buf, 354, 116, 353, 116, rgb); lr.line(buf, 353, 116, 353, 116, rgb); lr.line(buf, 353, 116, 352, 116, rgb); lr.line(buf, 352, 116, 352, 116, rgb); lr.line(buf, 352, 116, 352, 116, rgb); lr.line(buf, 352, 116, 351, 116, rgb); lr.line(buf, 351, 116, 350, 116, rgb); lr.line(buf, 350, 116, 350, 116, rgb); lr.line(buf, 350, 116, 349, 116, rgb); lr.line(buf, 349, 116, 348, 116, rgb); lr.line(buf, 348, 116, 347, 116, rgb); lr.line(buf, 347, 116, 346, 117, rgb); lr.line(buf, 346, 117, 346, 117, rgb); lr.line(buf, 346, 117, 345, 117, rgb); lr.line(buf, 345, 117, 343, 118, rgb); lr.line(buf, 343, 118, 342, 119, rgb); lr.line(buf, 342, 119, 341, 119, rgb); lr.line(buf, 341, 119, 341, 119, rgb); lr.line(buf, 341, 119, 340, 120, rgb); lr.line(buf, 340, 120, 340, 120, rgb); lr.line(buf, 340, 120, 339, 121, rgb); lr.line(buf, 339, 121, 338, 121, rgb); lr.line(buf, 338, 121, 337, 122, rgb); lr.line(buf, 337, 122, 337, 122, rgb); lr.line(buf, 337, 122, 336, 123, rgb); lr.line(buf, 336, 123, 335, 123, rgb); lr.line(buf, 335, 123, 335, 124, rgb); lr.line(buf, 335, 124, 334, 124, rgb); lr.line(buf, 334, 124, 334, 125, rgb); lr.line(buf, 334, 125, 333, 126, rgb); lr.line(buf, 333, 126, 332, 127, rgb); lr.line(buf, 332, 127, 332, 127, rgb); lr.line(buf, 332, 127, 331, 128, rgb); lr.line(buf, 331, 128, 330, 129, rgb); lr.line(buf, 330, 129, 329, 131, rgb); lr.line(buf, 329, 131, 328, 131, rgb); lr.line(buf, 328, 131, 327, 132, rgb); lr.line(buf, 327, 132, 327, 133, rgb); lr.line(buf, 327, 133, 326, 134, rgb); lr.line(buf, 326, 134, 325, 135, rgb); lr.line(buf, 325, 135, 325, 136, rgb); lr.line(buf, 325, 136, 324, 137, rgb); lr.line(buf, 324, 137, 324, 138, rgb); lr.line(buf, 324, 138, 323, 139, rgb); lr.line(buf, 323, 139, 323, 141, rgb); lr.line(buf, 323, 141, 322, 143, rgb); lr.line(buf, 322, 143, 321, 145, rgb); lr.line(buf, 321, 145, 321, 146, rgb); lr.line(buf, 321, 146, 321, 147, rgb); lr.line(buf, 321, 147, 320, 149, rgb); lr.line(buf, 320, 149, 320, 150, rgb); lr.line(buf, 320, 150, 320, 151, rgb); lr.line(buf, 320, 151, 319, 156, rgb); lr.line(buf, 319, 156, 319, 158, rgb); lr.line(buf, 319, 158, 319, 160, rgb); lr.line(buf, 319, 160, 319, 161, rgb); lr.line(buf, 319, 161, 319, 163, rgb); lr.line(buf, 319, 163, 319, 164, rgb); lr.line(buf, 319, 164, 320, 166, rgb); lr.line(buf, 320, 166, 320, 168, rgb); lr.line(buf, 320, 168, 321, 172, rgb); lr.line(buf, 321, 172, 322, 174, rgb); lr.line(buf, 322, 174, 322, 176, rgb); lr.line(buf, 322, 176, 323, 178, rgb); lr.line(buf, 323, 178, 324, 179, rgb); lr.line(buf, 324, 179, 325, 181, rgb); lr.line(buf, 325, 181, 326, 183, rgb); lr.line(buf, 326, 183, 327, 184, rgb); lr.line(buf, 327, 184, 328, 186, rgb); lr.line(buf, 328, 186, 329, 187, rgb); lr.line(buf, 329, 187, 335, 192, rgb); lr.line(buf, 335, 192, 336, 194, rgb); lr.line(buf, 336, 194, 338, 195, rgb); lr.line(buf, 338, 195, 340, 197, rgb); lr.line(buf, 340, 197, 341, 198, rgb); lr.line(buf, 341, 198, 343, 199, rgb); lr.line(buf, 343, 199, 345, 200, rgb); lr.line(buf, 345, 200, 348, 202, rgb); lr.line(buf, 348, 202, 352, 203, rgb); lr.line(buf, 352, 203, 354, 204, rgb); lr.line(buf, 354, 204, 356, 205, rgb); lr.line(buf, 356, 205, 358, 205, rgb); lr.line(buf, 358, 205, 360, 206, rgb); lr.line(buf, 360, 206, 362, 206, rgb); lr.line(buf, 362, 206, 363, 206, rgb); lr.line(buf, 363, 206, 365, 206, rgb); lr.line(buf, 365, 206, 367, 206, rgb); lr.line(buf, 367, 206, 369, 206, rgb); lr.line(buf, 369, 206, 371, 206, rgb); lr.line(buf, 371, 206, 372, 207, rgb); lr.line(buf, 372, 207, 374, 207, rgb); lr.line(buf, 374, 207, 376, 207, rgb); lr.line(buf, 376, 207, 377, 206, rgb); lr.line(buf, 377, 206, 378, 206, rgb); lr.line(buf, 378, 206, 380, 206, rgb); lr.line(buf, 380, 206, 381, 206, rgb); lr.line(buf, 381, 206, 383, 205, rgb); lr.line(buf, 383, 205, 384, 205, rgb); lr.line(buf, 384, 205, 386, 204, rgb); lr.line(buf, 386, 204, 387, 204, rgb); lr.line(buf, 387, 204, 389, 203, rgb); lr.line(buf, 389, 203, 390, 203, rgb); lr.line(buf, 390, 203, 394, 201, rgb); lr.line(buf, 394, 201, 395, 200, rgb); lr.line(buf, 395, 200, 396, 199, rgb); lr.line(buf, 396, 199, 397, 198, rgb); lr.line(buf, 397, 198, 399, 197, rgb); lr.line(buf, 399, 197, 400, 196, rgb); lr.line(buf, 400, 196, 401, 195, rgb); lr.line(buf, 401, 195, 402, 193, rgb); lr.line(buf, 402, 193, 403, 192, rgb); lr.line(buf, 403, 192, 405, 189, rgb); lr.line(buf, 405, 189, 407, 185, rgb); lr.line(buf, 407, 185, 407, 183, rgb); lr.line(buf, 407, 183, 408, 182, rgb); lr.line(buf, 408, 182, 408, 181, rgb); lr.line(buf, 408, 181, 408, 179, rgb); lr.line(buf, 408, 179, 408, 178, rgb); lr.line(buf, 408, 178, 409, 176, rgb); lr.line(buf, 409, 176, 409, 175, rgb); lr.line(buf, 409, 175, 409, 174, rgb); lr.line(buf, 409, 174, 409, 173, rgb); lr.line(buf, 409, 173, 409, 172, rgb); lr.line(buf, 409, 172, 409, 171, rgb); lr.line(buf, 409, 171, 409, 168, rgb); lr.line(buf, 409, 168, 409, 167, rgb); lr.line(buf, 409, 167, 409, 166, rgb); lr.line(buf, 409, 166, 409, 165, rgb); lr.line(buf, 409, 165, 409, 164, rgb); lr.line(buf, 409, 164, 409, 163, rgb); lr.line(buf, 409, 163, 409, 162, rgb); lr.line(buf, 409, 162, 409, 161, rgb); lr.line(buf, 409, 161, 408, 161, rgb); lr.line(buf, 408, 161, 408, 160, rgb); lr.line(buf, 408, 160, 408, 159, rgb); lr.line(buf, 408, 159, 408, 157, rgb); lr.line(buf, 408, 157, 408, 156, rgb); lr.line(buf, 408, 156, 407, 155, rgb); lr.line(buf, 407, 155, 407, 154, rgb); lr.line(buf, 407, 154, 407, 153, rgb); lr.line(buf, 407, 153, 406, 153, rgb); lr.line(buf, 406, 153, 406, 152, rgb); lr.line(buf, 406, 152, 406, 151, rgb); lr.line(buf, 406, 151, 406, 151, rgb); lr.line(buf, 406, 151, 405, 150, rgb); lr.line(buf, 405, 150, 405, 148, rgb); lr.line(buf, 405, 148, 405, 148, rgb); lr.line(buf, 405, 148, 405, 147, rgb); lr.line(buf, 405, 147, 404, 147, rgb); lr.line(buf, 404, 147, 404, 146, rgb); lr.line(buf, 404, 146, 404, 146, rgb); lr.line(buf, 404, 146, 404, 145, rgb); lr.line(buf, 404, 145, 403, 144, rgb); lr.line(buf, 403, 144, 403, 144, rgb); lr.line(buf, 403, 144, 403, 143, rgb); lr.line(buf, 403, 143, 403, 143, rgb); lr.line(buf, 403, 143, 403, 142, rgb); lr.line(buf, 403, 142, 402, 142, rgb); lr.line(buf, 402, 142, 402, 142, rgb); lr.line(buf, 402, 142, 402, 142, rgb); lr.line(buf, 402, 142, 402, 141, rgb); lr.line(buf, 402, 141, 402, 141, rgb); lr.line(buf, 402, 141, 402, 141, rgb); lr.line(buf, 402, 141, 401, 140, rgb); lr.line(buf, 401, 140, 401, 140, rgb); lr.line(buf, 401, 140, 401, 140, rgb); lr.line(buf, 401, 140, 400, 139, rgb); lr.line(buf, 400, 139, 400, 139, rgb); lr.line(buf, 400, 139, 400, 138, rgb); lr.line(buf, 400, 138, 399, 137, rgb); lr.line(buf, 399, 137, 399, 137, rgb); lr.line(buf, 399, 137, 398, 136, rgb); lr.line(buf, 398, 136, 398, 136, rgb); lr.line(buf, 398, 136, 398, 135, rgb); lr.line(buf, 398, 135, 398, 135, rgb); lr.line(buf, 398, 135, 398, 135, rgb); lr.line(buf, 398, 135, 397, 134, rgb); lr.line(buf, 397, 134, 397, 134, rgb); lr.line(buf, 397, 134, 397, 134, rgb); lr.line(buf, 397, 134, 396, 134, rgb); lr.line(buf, 396, 134, 396, 133, rgb); lr.line(buf, 396, 133, 396, 133, rgb); lr.line(buf, 396, 133, 396, 133, rgb); lr.line(buf, 396, 133, 395, 133, rgb); lr.line(buf, 395, 133, 395, 132, rgb); lr.line(buf, 395, 132, 395, 132, rgb); lr.line(buf, 395, 132, 394, 132, rgb); lr.line(buf, 394, 132, 394, 131, rgb); lr.line(buf, 394, 131, 393, 131, rgb); lr.line(buf, 393, 131, 393, 131, rgb); lr.line(buf, 393, 131, 393, 130, rgb); lr.line(buf, 393, 130, 392, 130, rgb); lr.line(buf, 392, 130, 392, 129, rgb); lr.line(buf, 392, 129, 391, 129, rgb); lr.line(buf, 391, 129, 391, 129, rgb); lr.line(buf, 391, 129, 390, 129, rgb); lr.line(buf, 390, 129, 390, 128, rgb); lr.line(buf, 390, 128, 389, 128, rgb); lr.line(buf, 389, 128, 389, 128, rgb); lr.line(buf, 389, 128, 388, 127, rgb); lr.line(buf, 388, 127, 388, 127, rgb); lr.line(buf, 388, 127, 387, 127, rgb); lr.line(buf, 387, 127, 387, 126, rgb); lr.line(buf, 387, 126, 386, 126, rgb); lr.line(buf, 386, 126, 385, 125, rgb); lr.line(buf, 385, 125, 384, 124, rgb); lr.line(buf, 384, 124, 384, 124, rgb); lr.line(buf, 384, 124, 383, 123, rgb); lr.line(buf, 383, 123, 382, 123, rgb); lr.line(buf, 382, 123, 382, 123, rgb); lr.line(buf, 382, 123, 382, 122, rgb); lr.line(buf, 382, 122, 381, 122, rgb); lr.line(buf, 381, 122, 380, 122, rgb); lr.line(buf, 380, 122, 379, 121, rgb); lr.line(buf, 379, 121, 379, 121, rgb); lr.line(buf, 379, 121, 378, 120, rgb); lr.line(buf, 378, 120, 378, 120, rgb); lr.line(buf, 378, 120, 377, 120, rgb); lr.line(buf, 377, 120, 377, 120, rgb); lr.line(buf, 377, 120, 376, 119, rgb); lr.line(buf, 376, 119, 375, 119, rgb); lr.line(buf, 375, 119, 374, 118, rgb); lr.line(buf, 374, 118, 373, 118, rgb); lr.line(buf, 373, 118, 373, 118, rgb); lr.line(buf, 373, 118, 373, 118, rgb); lr.line(buf, 373, 118, 372, 117, rgb); lr.line(buf, 372, 117, 372, 117, rgb); lr.line(buf, 372, 117, 371, 117, rgb); lr.line(buf, 371, 117, 370, 117, rgb); lr.line(buf, 370, 117, 369, 116, rgb); lr.line(buf, 369, 116, 367, 116, rgb); lr.line(buf, 367, 116, 366, 115, rgb); lr.line(buf, 366, 115, 366, 115, rgb); lr.line(buf, 366, 115, 365, 115, rgb); lr.line(buf, 365, 115, 364, 115, rgb); lr.line(buf, 364, 115, 364, 115, rgb); lr.line(buf, 364, 115, 363, 115, rgb); lr.line(buf, 363, 115, 362, 115, rgb); lr.line(buf, 362, 115, 362, 115, rgb); lr.line(buf, 362, 115, 361, 115, rgb); lr.line(buf, 361, 115, 361, 115, rgb); lr.line(buf, 361, 115, 361, 115, rgb); lr.line(buf, 361, 115, 361, 115, rgb); lr.line(buf, 361, 115, 361, 114, rgb); lr.line(buf, 361, 114, 361, 114, rgb); lr.line(buf, 361, 114, 360, 114, rgb); lr.line(buf, 360, 114, 360, 114, rgb); lr.line(buf, 360, 114, 359, 114, rgb); lr.line(buf, 359, 114, 359, 114, rgb); lr.line(buf, 359, 114, 358, 114, rgb); lr.line(buf, 358, 114, 357, 114, rgb); lr.line(buf, 357, 114, 357, 114, rgb); lr.line(buf, 357, 114, 357, 114, rgb); lr.line(buf, 357, 114, 356, 114, rgb); lr.line(buf, 356, 114, 356, 114, rgb); lr.line(buf, 356, 114, 356, 114, rgb); lr.line(buf, 356, 114, 356, 114, rgb); lr.line(buf, 356, 114, 356, 114, rgb); lr.line(buf, 356, 114, 355, 114, rgb); lr.line(buf, 355, 114, 355, 114, rgb); lr.line(buf, 355, 114, 354, 114, rgb); lr.line(buf, 354, 114, 353, 114, rgb); lr.line(buf, 353, 114, 352, 115, rgb); lr.line(buf, 352, 115, 351, 115, rgb); lr.line(buf, 351, 115, 350, 115, rgb); lr.line(buf, 350, 115, 349, 115, rgb); lr.line(buf, 349, 115, 348, 115, rgb); lr.line(buf, 348, 115, 348, 115, rgb); lr.line(buf, 348, 115, 347, 116, rgb); lr.line(buf, 347, 116, 346, 116, rgb); lr.line(buf, 346, 116, 346, 116, rgb); lr.line(buf, 346, 116, 346, 116, rgb); lr.line(buf, 346, 116, 346, 116, rgb); lr.line(buf, 346, 116, 345, 116, rgb); lr.line(buf, 345, 116, 345, 116, rgb); lr.line(buf, 345, 116, 345, 116, rgb); lr.line(buf, 345, 116, 345, 116, rgb); lr.line(buf, 345, 116, 345, 116, rgb); lr.line(buf, 345, 116, 345, 116, rgb); lr.line(buf, 345, 116, 345, 116, rgb); lr.line(buf, 345, 116, 346, 116, rgb); lr.line(buf, 346, 116, 346, 117, rgb); lr.line(buf, 346, 117, 347, 117, rgb); lr.line(buf, 353, 138, 349, 136, rgb); lr.line(buf, 349, 136, 349, 136, rgb); lr.line(buf, 349, 136, 348, 136, rgb); lr.line(buf, 348, 136, 347, 136, rgb); lr.line(buf, 347, 136, 347, 136, rgb); lr.line(buf, 347, 136, 346, 136, rgb); lr.line(buf, 346, 136, 345, 136, rgb); lr.line(buf, 345, 136, 344, 137, rgb); lr.line(buf, 344, 137, 344, 137, rgb); lr.line(buf, 344, 137, 343, 138, rgb); lr.line(buf, 343, 138, 343, 138, rgb); lr.line(buf, 343, 138, 342, 139, rgb); lr.line(buf, 342, 139, 342, 140, rgb); lr.line(buf, 342, 140, 341, 141, rgb); lr.line(buf, 341, 141, 341, 142, rgb); lr.line(buf, 341, 142, 341, 146, rgb); lr.line(buf, 341, 146, 341, 147, rgb); lr.line(buf, 341, 147, 341, 147, rgb); lr.line(buf, 341, 147, 341, 148, rgb); lr.line(buf, 341, 148, 342, 149, rgb); lr.line(buf, 342, 149, 343, 150, rgb); lr.line(buf, 343, 150, 343, 150, rgb); lr.line(buf, 343, 150, 344, 151, rgb); lr.line(buf, 344, 151, 345, 151, rgb); lr.line(buf, 345, 151, 351, 152, rgb); lr.line(buf, 351, 152, 352, 151, rgb); lr.line(buf, 352, 151, 354, 151, rgb); lr.line(buf, 354, 151, 355, 151, rgb); lr.line(buf, 355, 151, 356, 150, rgb); lr.line(buf, 356, 150, 357, 150, rgb); lr.line(buf, 357, 150, 358, 149, rgb); lr.line(buf, 358, 149, 362, 145, rgb); lr.line(buf, 362, 145, 362, 144, rgb); lr.line(buf, 362, 144, 362, 143, rgb); lr.line(buf, 362, 143, 362, 142, rgb); lr.line(buf, 362, 142, 362, 142, rgb); lr.line(buf, 362, 142, 362, 141, rgb); lr.line(buf, 362, 141, 361, 140, rgb); lr.line(buf, 361, 140, 360, 140, rgb); lr.line(buf, 360, 140, 359, 138, rgb); lr.line(buf, 359, 13 程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com