java爱心代码运行爱心扭曲是怎么回事

Python08

java爱心代码运行爱心扭曲是怎么回事,第1张

java爱心代码运行爱心扭曲是因为:

1、java爱心代码的其中一行出现了错误。

2、在输入代码循环的时候没有输入完整。以上就是java爱心代码运行爱心扭曲的原因。java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

题主肯定已经知道解决方式了, 我这里还是写一下一个可行的方法, 方便之后其他人检索.

使用

Graphics.copyArea(int x,int y,int width,int height, int dx, int dy)

这个方法

用处是将x, y 这个位置上的像素点, 复制到x, y 基础上偏移了dx, dy 后的这个位置上.

手头没有代码, 大概讲一下我自己实现过的思路

图像的宽高 width, height. 偏移量 d, 当前的行/列 index

遍历高度(纵轴)上的每一行像素, 每一行的像素都横向偏移d.

g.copyArea(0, index, width, 1, d, 0)

当然, 之后要拿背景色填充这一行偏移后首尾的空缺

g.drawLine(d, index, 0, index)

g.drawLine(d + width, index, width, index)

然后宽度方向上的遍历也同理

g.copyArea(index, 0, 1, height, 0, d)

g.setColor(背景色)

g.drawLine(index, d, index, 0)

g.drawLine(index, d + height, index, height)

当你的偏移量d 是固定的值的时候, 这样的效果只是平移.

但是, 如果每行每列偏移量是一个随机值, 或者根据你自己的一个公式计算出来的一个值, 那么, 就出现扭曲的效果了.

以上.

先给你个最简单的例子,你就明白应该怎么做了:

如果叫你用 graphics2d 去画一条线,你知道是 x1, y1, --->x2, y2 两个点,然后使用 drawline 方法就可以实现画这一条直线,

如果叫你用 graphics2d 去画一条正弦曲线,你就知道不是两点的方法能画出来的了。

所以,上面的例子其实是说,你在网上找一个 jar 类库专门用来实现这种功能的就可以了。