Anda di halaman 1dari 11

Compiled from "ColoredEdgesWordRenderer.

java"
public class nl.captcha.text.renderer.ColoredEdgesWordRenderer extends java.lang
.Object implements nl.captcha.text.renderer.WordRenderer
SourceFile: "ColoredEdgesWordRenderer.java"
InnerClass:
public abstract #246= #244 of #95; //Key=class java/awt/RenderingHints$Key of
class java/awt/RenderingHints
public #251= #247 of #249; //Attribute=class java/text/AttributedCharacterIte
rator$Attribute of class java/text/AttributedCharacterIterator
minor version: 0
major version: 50
Constant pool:
const #1 = class
#2;
// nl/captcha/text/renderer/ColoredEdgesWordRen
derer
const #2 = Asciz
nl/captcha/text/renderer/ColoredEdgesWordRenderer;
const #3 = class
#4;
// java/lang/Object
const #4 = Asciz
java/lang/Object;
const #5 = class
#6;
// nl/captcha/text/renderer/WordRenderer
const #6 = Asciz
nl/captcha/text/renderer/WordRenderer;
const #7 = Asciz
RAND;
const #8 = Asciz
Ljava/util/Random;;
const #9 = Asciz
DEFAULT_COLORS;
const #10 = Asciz
Ljava/util/List;;
const #11 = Asciz
Signature;
const #12 = Asciz
Ljava/util/List<Ljava/awt/Color;>;;
const #13 = Asciz
DEFAULT_FONTS;
const #14 = Asciz
Ljava/util/List<Ljava/awt/Font;>;;
const #15 = Asciz
DEFAULT_STROKE_WIDTH;
const #16 = Asciz
F;
const #17 = Asciz
ConstantValue;
const #18 = float
0.0f;
const #19 = Asciz
YOFFSET;
const #20 = Asciz
D;
const #21 = double
0.25d;
const #23 = Asciz
XOFFSET;
const #24 = double
0.05d;
const #26 = Asciz
_fonts;
const #27 = Asciz
_colors;
const #28 = Asciz
_strokeWidth;
const #29 = Asciz
<clinit>;
const #30 = Asciz
()V;
const #31 = Asciz
Code;
const #32 = class
#33;
// java/security/SecureRandom
const #33 = Asciz
java/security/SecureRandom;
const #34 = Method
#32.#35;
// java/security/SecureRandom."<init>":
()V
const #35 = NameAndType #36:#30;// "<init>":()V
const #36 = Asciz
<init>;
const #37 = Field
#1.#38; // nl/captcha/text/renderer/ColoredEdgesWordRen
derer.RAND:Ljava/util/Random;
const #38 = NameAndType #7:#8;// RAND:Ljava/util/Random;
const #39 = class
#40;
// java/util/ArrayList
const #40 = Asciz
java/util/ArrayList;
const #41 = Method
#39.#35;
// java/util/ArrayList."<init>":()V
const #42 = Field
#1.#43; // nl/captcha/text/renderer/ColoredEdgesWordRen
derer.DEFAULT_COLORS:Ljava/util/List;
const #43 = NameAndType #9:#10;// DEFAULT_COLORS:Ljava/util/List;
const #44 = Field
#1.#45; // nl/captcha/text/renderer/ColoredEdgesWordRen
derer.DEFAULT_FONTS:Ljava/util/List;
const #45 = NameAndType #13:#10;// DEFAULT_FONTS:Ljava/util/List;

const #46 = class


#47;
// java/awt/Font
const #47 = Asciz
java/awt/Font;
const #48 = String
#49;
// Arial
const #49 = Asciz
Arial;
const #50 = Method
#46.#51;
// java/awt/Font."<init>":(Ljava/lang/S
tring;II)V
const #51 = NameAndType #36:#52;// "<init>":(Ljava/lang/String;II)V
const #52 = Asciz
(Ljava/lang/String;II)V;
const #53 = InterfaceMethod
#54.#56;
// java/util/List.add:(Ljava/la
ng/Object;)Z
const #54 = class
#55;
// java/util/List
const #55 = Asciz
java/util/List;
const #56 = NameAndType #57:#58;// add:(Ljava/lang/Object;)Z
const #57 = Asciz
add;
const #58 = Asciz
(Ljava/lang/Object;)Z;
const #59 = Field
#60.#62;
// java/awt/Color.BLACK:Ljava/awt/Color
;
const #60 = class
#61;
// java/awt/Color
const #61 = Asciz
java/awt/Color;
const #62 = NameAndType #63:#64;// BLACK:Ljava/awt/Color;
const #63 = Asciz
BLACK;
const #64 = Asciz
Ljava/awt/Color;;
const #65 = Asciz
LineNumberTable;
const #66 = Asciz
LocalVariableTable;
const #67 = Method
#1.#68; // nl/captcha/text/renderer/ColoredEdgesWordRen
derer."<init>":(Ljava/util/List;Ljava/util/List;F)V
const #68 = NameAndType #36:#69;// "<init>":(Ljava/util/List;Ljava/util/List;F)
V
const #69 = Asciz
(Ljava/util/List;Ljava/util/List;F)V;
const #70 = Asciz
this;
const #71 = Asciz
Lnl/captcha/text/renderer/ColoredEdgesWordRenderer;;
const #72 = Asciz
(Ljava/util/List;Ljava/util/List;)V;
const #73 = Asciz
(Ljava/util/List<Ljava/awt/Color;>;Ljava/util/List<Ljava
/awt/Font;>;)V;
const #74 = Asciz
colors;
const #75 = Asciz
fonts;
const #76 = Asciz
LocalVariableTypeTable;
const #77 = Asciz
(Ljava/util/List<Ljava/awt/Color;>;Ljava/util/List<Ljava
/awt/Font;>;F)V;
const #78 = Method
#3.#35; // java/lang/Object."<init>":()V
const #79 = Field
#1.#80; // nl/captcha/text/renderer/ColoredEdgesWordRen
derer._colors:Ljava/util/List;
const #80 = NameAndType #27:#10;// _colors:Ljava/util/List;
const #81 = Field
#1.#82; // nl/captcha/text/renderer/ColoredEdgesWordRen
derer._fonts:Ljava/util/List;
const #82 = NameAndType #26:#10;// _fonts:Ljava/util/List;
const #83 = Field
#1.#84; // nl/captcha/text/renderer/ColoredEdgesWordRen
derer._strokeWidth:F
const #84 = NameAndType #28:#16;// _strokeWidth:F
const #85 = Asciz
strokeWidth;
const #86 = Asciz
StackMapTable;
const #87 = Asciz
render;
const #88 = Asciz
(Ljava/lang/String;Ljava/awt/image/BufferedImage;)V;
const #89 = Method
#90.#92;
// java/awt/image/BufferedImage.createG
raphics:()Ljava/awt/Graphics2D;
const #90 = class
#91;
// java/awt/image/BufferedImage
const #91 = Asciz
java/awt/image/BufferedImage;
const #92 = NameAndType #93:#94;// createGraphics:()Ljava/awt/Graphics2D;
const #93 = Asciz
createGraphics;
const #94 = Asciz
()Ljava/awt/Graphics2D;;

const #95 = class


#96;
// java/awt/RenderingHints
const #96 = Asciz
java/awt/RenderingHints;
const #97 = Field
#95.#98;
// java/awt/RenderingHints.KEY_ANTIALIA
SING:Ljava/awt/RenderingHints$Key;
const #98 = NameAndType #99:#100;// KEY_ANTIALIASING:Ljava/awt/RenderingHints$K
ey;
const #99 = Asciz
KEY_ANTIALIASING;
const #100 = Asciz
Ljava/awt/RenderingHints$Key;;
const #101 = Field
#95.#102;
// java/awt/RenderingHints.VALUE_ANTIAL
IAS_ON:Ljava/lang/Object;
const #102 = NameAndType
#103:#104;// VALUE_ANTIALIAS_ON:Ljava/lang/Obje
ct;
const #103 = Asciz
VALUE_ANTIALIAS_ON;
const #104 = Asciz
Ljava/lang/Object;;
const #105 = Method
#95.#106;
// java/awt/RenderingHints."<init>":(Lj
ava/awt/RenderingHints$Key;Ljava/lang/Object;)V
const #106 = NameAndType
#36:#107;// "<init>":(Ljava/awt/RenderingHints$
Key;Ljava/lang/Object;)V
const #107 = Asciz
(Ljava/awt/RenderingHints$Key;Ljava/lang/Object;)V;
const #108 = Field
#95.#109;
// java/awt/RenderingHints.KEY_RENDERIN
G:Ljava/awt/RenderingHints$Key;
const #109 = NameAndType
#110:#100;// KEY_RENDERING:Ljava/awt/RenderingH
ints$Key;
const #110 = Asciz
KEY_RENDERING;
const #111 = Field
#95.#112;
// java/awt/RenderingHints.VALUE_RENDER
_QUALITY:Ljava/lang/Object;
const #112 = NameAndType
#113:#104;// VALUE_RENDER_QUALITY:Ljava/lang/Ob
ject;
const #113 = Asciz
VALUE_RENDER_QUALITY;
const #114 = Method
#95.#115;
// java/awt/RenderingHints.add:(Ljava/a
wt/RenderingHints;)V
const #115 = NameAndType
#57:#116;// add:(Ljava/awt/RenderingHints;)V
const #116 = Asciz
(Ljava/awt/RenderingHints;)V;
const #117 = Method
#118.#120;
// java/awt/Graphics2D.setRenderingHint
s:(Ljava/util/Map;)V
const #118 = class
#119; // java/awt/Graphics2D
const #119 = Asciz
java/awt/Graphics2D;
const #120 = NameAndType
#121:#122;// setRenderingHints:(Ljava/util/Map;
)V
const #121 = Asciz
setRenderingHints;
const #122 = Asciz
(Ljava/util/Map;)V;
const #123 = class
#124; // java/text/AttributedString
const #124 = Asciz
java/text/AttributedString;
const #125 = Method
#123.#126;
// java/text/AttributedString."<init>":
(Ljava/lang/String;)V
const #126 = NameAndType
#36:#127;// "<init>":(Ljava/lang/String;)V
const #127 = Asciz
(Ljava/lang/String;)V;
const #128 = Field
#129.#131;
// java/awt/font/TextAttribute.FONT:Lja
va/awt/font/TextAttribute;
const #129 = class
#130; // java/awt/font/TextAttribute
const #130 = Asciz
java/awt/font/TextAttribute;
const #131 = NameAndType
#132:#133;// FONT:Ljava/awt/font/TextAttribute;
const #132 = Asciz
FONT;
const #133 = Asciz
Ljava/awt/font/TextAttribute;;
const #134 = Method
#1.#135;
// nl/captcha/text/renderer/ColoredEdge
sWordRenderer.getRandomFont:()Ljava/awt/Font;
const #135 = NameAndType
#136:#137;// getRandomFont:()Ljava/awt/Font;
const #136 = Asciz
getRandomFont;
const #137 = Asciz
()Ljava/awt/Font;;
const #138 = Method
#123.#139;
// java/text/AttributedString.addAttrib

ute:(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;)V
const #139 = NameAndType
#140:#141;// addAttribute:(Ljava/text/Attribute
dCharacterIterator$Attribute;Ljava/lang/Object;)V
const #140 = Asciz
addAttribute;
const #141 = Asciz
(Ljava/text/AttributedCharacterIterator$Attribute;Ljava/
lang/Object;)V;
const #142 = Method
#118.#143;
// java/awt/Graphics2D.getFontRenderCon
text:()Ljava/awt/font/FontRenderContext;
const #143 = NameAndType
#144:#145;// getFontRenderContext:()Ljava/awt/f
ont/FontRenderContext;
const #144 = Asciz
getFontRenderContext;
const #145 = Asciz
()Ljava/awt/font/FontRenderContext;;
const #146 = Method
#123.#147;
// java/text/AttributedString.getIterat
or:()Ljava/text/AttributedCharacterIterator;
const #147 = NameAndType
#148:#149;// getIterator:()Ljava/text/Attribute
dCharacterIterator;
const #148 = Asciz
getIterator;
const #149 = Asciz
()Ljava/text/AttributedCharacterIterator;;
const #150 = class
#151; // java/awt/font/TextLayout
const #151 = Asciz
java/awt/font/TextLayout;
const #152 = Method
#150.#153;
// java/awt/font/TextLayout."<init>":(L
java/text/AttributedCharacterIterator;Ljava/awt/font/FontRenderContext;)V
const #153 = NameAndType
#36:#154;// "<init>":(Ljava/text/AttributedChar
acterIterator;Ljava/awt/font/FontRenderContext;)V
const #154 = Asciz
(Ljava/text/AttributedCharacterIterator;Ljava/awt/font/F
ontRenderContext;)V;
const #155 = Method
#90.#156;
// java/awt/image/BufferedImage.getWidt
h:()I
const #156 = NameAndType
#157:#158;// getWidth:()I
const #157 = Asciz
getWidth;
const #158 = Asciz
()I;
const #159 = Method
#160.#162;
// java/lang/Math.round:(D)J
const #160 = class
#161; // java/lang/Math
const #161 = Asciz
java/lang/Math;
const #162 = NameAndType
#163:#164;// round:(D)J
const #163 = Asciz
round;
const #164 = Asciz
(D)J;
const #165 = Method
#90.#166;
// java/awt/image/BufferedImage.getHeig
ht:()I
const #166 = NameAndType
#167:#158;// getHeight:()I
const #167 = Asciz
getHeight;
const #168 = Method
#169.#171;
// java/awt/geom/AffineTransform.getTra
nslateInstance:(DD)Ljava/awt/geom/AffineTransform;
const #169 = class
#170; // java/awt/geom/AffineTransform
const #170 = Asciz
java/awt/geom/AffineTransform;
const #171 = NameAndType
#172:#173;// getTranslateInstance:(DD)Ljava/awt
/geom/AffineTransform;
const #172 = Asciz
getTranslateInstance;
const #173 = Asciz
(DD)Ljava/awt/geom/AffineTransform;;
const #174 = Method
#150.#175;
// java/awt/font/TextLayout.getOutline:
(Ljava/awt/geom/AffineTransform;)Ljava/awt/Shape;
const #175 = NameAndType
#176:#177;// getOutline:(Ljava/awt/geom/AffineT
ransform;)Ljava/awt/Shape;
const #176 = Asciz
getOutline;
const #177 = Asciz
(Ljava/awt/geom/AffineTransform;)Ljava/awt/Shape;;
const #178 = Method
#1.#179;
// nl/captcha/text/renderer/ColoredEdge
sWordRenderer.getRandomColor:()Ljava/awt/Color;
const #179 = NameAndType
#180:#181;// getRandomColor:()Ljava/awt/Color;
const #180 = Asciz
getRandomColor;
const #181 = Asciz
()Ljava/awt/Color;;

const #182 = Method


#118.#183;
// java/awt/Graphics2D.setColor:(Ljava/
awt/Color;)V
const #183 = NameAndType
#184:#185;// setColor:(Ljava/awt/Color;)V
const #184 = Asciz
setColor;
const #185 = Asciz
(Ljava/awt/Color;)V;
const #186 = class
#187; // java/awt/BasicStroke
const #187 = Asciz
java/awt/BasicStroke;
const #188 = Method
#186.#189;
// java/awt/BasicStroke."<init>":(F)V
const #189 = NameAndType
#36:#190;// "<init>":(F)V
const #190 = Asciz
(F)V;
const #191 = Method
#118.#192;
// java/awt/Graphics2D.setStroke:(Ljava
/awt/Stroke;)V
const #192 = NameAndType
#193:#194;// setStroke:(Ljava/awt/Stroke;)V
const #193 = Asciz
setStroke;
const #194 = Asciz
(Ljava/awt/Stroke;)V;
const #195 = Method
#118.#196;
// java/awt/Graphics2D.draw:(Ljava/awt/
Shape;)V
const #196 = NameAndType
#197:#198;// draw:(Ljava/awt/Shape;)V
const #197 = Asciz
draw;
const #198 = Asciz
(Ljava/awt/Shape;)V;
const #199 = Asciz
word;
const #200 = Asciz
Ljava/lang/String;;
const #201 = Asciz
image;
const #202 = Asciz
Ljava/awt/image/BufferedImage;;
const #203 = Asciz
g;
const #204 = Asciz
Ljava/awt/Graphics2D;;
const #205 = Asciz
hints;
const #206 = Asciz
Ljava/awt/RenderingHints;;
const #207 = Asciz
as;
const #208 = Asciz
Ljava/text/AttributedString;;
const #209 = Asciz
frc;
const #210 = Asciz
Ljava/awt/font/FontRenderContext;;
const #211 = Asciz
aci;
const #212 = Asciz
Ljava/text/AttributedCharacterIterator;;
const #213 = Asciz
tl;
const #214 = Asciz
Ljava/awt/font/TextLayout;;
const #215 = Asciz
xBaseline;
const #216 = Asciz
I;
const #217 = Asciz
yBaseline;
const #218 = Asciz
shape;
const #219 = Asciz
Ljava/awt/Shape;;
const #220 = Method
#1.#221;
// nl/captcha/text/renderer/ColoredEdge
sWordRenderer.getRandomObject:(Ljava/util/List;)Ljava/lang/Object;
const #221 = NameAndType
#222:#223;// getRandomObject:(Ljava/util/List;)
Ljava/lang/Object;
const #222 = Asciz
getRandomObject;
const #223 = Asciz
(Ljava/util/List;)Ljava/lang/Object;;
const #224 = Asciz
(Ljava/util/List<+Ljava/lang/Object;>;)Ljava/lang/Object
;;
const #225 = InterfaceMethod
#54.#226;
// java/util/List.size:()I
const #226 = NameAndType
#227:#158;// size:()I
const #227 = Asciz
size;
const #228 = InterfaceMethod
#54.#229;
// java/util/List.get:(I)Ljava/
lang/Object;
const #229 = NameAndType
#230:#231;// get:(I)Ljava/lang/Object;
const #230 = Asciz
get;
const #231 = Asciz
(I)Ljava/lang/Object;;
const #232 = Method
#233.#235;
// java/util/Random.nextInt:(I)I
const #233 = class
#234; // java/util/Random
const #234 = Asciz
java/util/Random;

const
const
const
const
const
const
const
const
const
const
const
const
const
ute
const
const
const
const

#235
#236
#237
#238
#239
#240
#241
#242
#243
#244
#245
#246
#247

=
=
=
=
=
=
=
=
=
=
=
=
=

NameAndType
#236:#237;// nextInt:(I)I
Asciz
nextInt;
Asciz
(I)I;
Asciz
objs;
Asciz
i;
Asciz
Ljava/util/List<+Ljava/lang/Object;>;;
Asciz
SourceFile;
Asciz
ColoredEdgesWordRenderer.java;
Asciz
InnerClasses;
class
#245; // java/awt/RenderingHints$Key
Asciz
java/awt/RenderingHints$Key;
Asciz
Key;
class
#248; // java/text/AttributedCharacterIterator$Attrib

#248
#249
#250
#251

=
=
=
=

Asciz
class
Asciz
Asciz

java/text/AttributedCharacterIterator$Attribute;
#250; // java/text/AttributedCharacterIterator
java/text/AttributedCharacterIterator;
Attribute;

{
static {};
Code:
Stack=6, Locals=0, Args_size=0
0: new
#32; //class java/security/SecureRandom
3: dup
4: invokespecial #34; //Method java/security/SecureRandom."<init>":()V
7: putstatic
#37; //Field RAND:Ljava/util/Random;
10: new
#39; //class java/util/ArrayList
13: dup
14: invokespecial #41; //Method java/util/ArrayList."<init>":()V
17: putstatic
#42; //Field DEFAULT_COLORS:Ljava/util/List;
20: new
#39; //class java/util/ArrayList
23: dup
24: invokespecial #41; //Method java/util/ArrayList."<init>":()V
27: putstatic
#44; //Field DEFAULT_FONTS:Ljava/util/List;
30: getstatic
#44; //Field DEFAULT_FONTS:Ljava/util/List;
33: new
#46; //class java/awt/Font
36: dup
37: ldc
#48; //String Arial
39: iconst_1
40: bipush 40
42: invokespecial #50; //Method java/awt/Font."<init>":(Ljava/lang/String;
II)V
45: invokeinterface #53, 2; //InterfaceMethod java/util/List.add:(Ljava/lan
g/Object;)Z
50: pop
51: getstatic
#42; //Field DEFAULT_COLORS:Ljava/util/List;
54: getstatic
#59; //Field java/awt/Color.BLACK:Ljava/awt/Color;
57: invokeinterface #53, 2; //InterfaceMethod java/util/List.add:(Ljava/lan
g/Object;)Z
62: pop
63: return
LineNumberTable:
line 23: 0
line 25: 10
line 26: 20
line 37: 30
line 38: 51
line 21: 63

public nl.captcha.text.renderer.ColoredEdgesWordRenderer();
Code:
Stack=4, Locals=1, Args_size=1
0: aload_0
1: getstatic
#42; //Field DEFAULT_COLORS:Ljava/util/List;
4: getstatic
#44; //Field DEFAULT_FONTS:Ljava/util/List;
7: fconst_0
8: invokespecial #67; //Method "<init>":(Ljava/util/List;Ljava/util/List;
F)V
11: return
LineNumberTable:
line 42: 0
line 43: 11
LocalVariableTable:
Start Length Slot Name Signature
0
12
0
this
Lnl/captcha/text/renderer/ColoredEdgesWordRend
erer;
public nl.captcha.text.renderer.ColoredEdgesWordRenderer(java.util.List, java.ut
il.List);
Signature: length = 0x2
00 49
Code:
Stack=4, Locals=3, Args_size=3
0: aload_0
1: aload_1
2: aload_2
3: fconst_0
4: invokespecial #67; //Method "<init>":(Ljava/util/List;Ljava/util/List;
F)V
7: return
LineNumberTable:
line 46: 0
line 47: 7
LocalVariableTable:
Start Length Slot Name Signature
0
8
0
this
Lnl/captcha/text/renderer/ColoredEdgesWordRende
rer;
0
8
1
colors
Ljava/util/List;
0
8
2
fonts
Ljava/util/List;
LocalVariableTypeTable: length = 0x16
00 02 00 00 00 08 00 4A 00 0C 00 01 00 00 00 08
00 4B 00 0E 00 02
public nl.captcha.text.renderer.ColoredEdgesWordRenderer(java.util.List, java.ut
il.List, float);
Signature: length = 0x2
00 4D
Code:
Stack=3, Locals=4, Args_size=4
0: aload_0
1: invokespecial #78; //Method java/lang/Object."<init>":()V
4: aload_0
5: aload_1
6: ifnull 13
9: aload_1
10: goto
16
13: getstatic
#42; //Field DEFAULT_COLORS:Ljava/util/List;
16: putfield
#79; //Field _colors:Ljava/util/List;
19: aload_0

20: aload_2
21: ifnull 28
24: aload_2
25: goto
31
28: getstatic
#44; //Field DEFAULT_FONTS:Ljava/util/List;
31: putfield
#81; //Field _fonts:Ljava/util/List;
34: aload_0
35: fload_3
36: fconst_0
37: fcmpg
38: ifge
45
41: fconst_0
42: goto
46
45: fload_3
46: putfield
#83; //Field _strokeWidth:F
49: return
LineNumberTable:
line 49: 0
line 50: 4
line 51: 19
line 52: 34
line 53: 49
LocalVariableTable:
Start Length Slot Name Signature
0
50
0
this
Lnl/captcha/text/renderer/ColoredEdgesWordRend
erer;
0
50
1
colors
Ljava/util/List;
0
50
2
fonts
Ljava/util/List;
0
50
3
strokeWidth
F
LocalVariableTypeTable: length = 0x16
00 02 00 00 00 32 00 4A 00 0C 00 01 00 00 00 32
00 4B 00 0E 00 02
StackMapTable: length = 0x61
00 06 FFFFFFFF 00 0D 00 04 07 00 01 07 00 36 07 00 36
02 00 01 07 00 01 FFFFFFFF 00 02 00 04 07 00 01 07 00
36 07 00 36 02 00 02 07 00 01 07 00 36 4B 07 00
01 FFFFFFFF 00 02 00 04 07 00 01 07 00 36 07 00 36 02
00 02 07 00 01 07 00 36 4D 07 00 01 FFFFFFFF 00 00 00
04 07 00 01 07 00 36 07 00 36 02 00 02 07 00 01
02
public void render(java.lang.String, java.awt.image.BufferedImage);
Code:
Stack=5, Locals=12, Args_size=3
0: aload_2
1: invokevirtual #89; //Method java/awt/image/BufferedImage.createGraphic
s:()Ljava/awt/Graphics2D;
4: astore_3
5: new
#95; //class java/awt/RenderingHints
8: dup
9: getstatic
#97; //Field java/awt/RenderingHints.KEY_ANTIALIASING:Lj
ava/awt/RenderingHints$Key;
12: getstatic
#101; //Field java/awt/RenderingHints.VALUE_ANTIALIAS_ON
:Ljava/lang/Object;
15: invokespecial #105; //Method java/awt/RenderingHints."<init>":(Ljava/a
wt/RenderingHints$Key;Ljava/lang/Object;)V
18: astore 4
20: aload 4
22: new
#95; //class java/awt/RenderingHints
25: dup

26: getstatic
#108; //Field java/awt/RenderingHints.KEY_RENDERING:Ljav
a/awt/RenderingHints$Key;
29: getstatic
#111; //Field java/awt/RenderingHints.VALUE_RENDER_QUALI
TY:Ljava/lang/Object;
32: invokespecial #105; //Method java/awt/RenderingHints."<init>":(Ljava/a
wt/RenderingHints$Key;Ljava/lang/Object;)V
35: invokevirtual #114; //Method java/awt/RenderingHints.add:(Ljava/awt/Re
nderingHints;)V
38: aload_3
39: aload 4
41: invokevirtual #117; //Method java/awt/Graphics2D.setRenderingHints:(Lj
ava/util/Map;)V
44: new
#123; //class java/text/AttributedString
47: dup
48: aload_1
49: invokespecial #125; //Method java/text/AttributedString."<init>":(Ljav
a/lang/String;)V
52: astore 5
54: aload 5
56: getstatic
#128; //Field java/awt/font/TextAttribute.FONT:Ljava/awt
/font/TextAttribute;
59: aload_0
60: invokespecial #134; //Method getRandomFont:()Ljava/awt/Font;
63: invokevirtual #138; //Method java/text/AttributedString.addAttribute:(
Ljava/text/AttributedCharacterIterator$Attribute;Ljava/lang/Object;)V
66: aload_3
67: invokevirtual #142; //Method java/awt/Graphics2D.getFontRenderContext:
()Ljava/awt/font/FontRenderContext;
70: astore 6
72: aload 5
74: invokevirtual #146; //Method java/text/AttributedString.getIterator:()
Ljava/text/AttributedCharacterIterator;
77: astore 7
79: new
#150; //class java/awt/font/TextLayout
82: dup
83: aload 7
85: aload 6
87: invokespecial #152; //Method java/awt/font/TextLayout."<init>":(Ljava/
text/AttributedCharacterIterator;Ljava/awt/font/FontRenderContext;)V
90: astore 8
92: aload_2
93: invokevirtual #155; //Method java/awt/image/BufferedImage.getWidth:()I
96: i2d
97: ldc2_w #24; //double 0.05d
100: dmul
101: invokestatic
#159; //Method java/lang/Math.round:(D)J
104: l2i
105: istore 9
107: aload_2
108: invokevirtual #165; //Method java/awt/image/BufferedImage.getHeight:()
I
111: aload_2
112: invokevirtual #165; //Method java/awt/image/BufferedImage.getHeight:()
I
115: i2d
116: ldc2_w #21; //double 0.25d
119: dmul
120: invokestatic
#159; //Method java/lang/Math.round:(D)J
123: l2i
124: isub

125: istore 10
127: aload 8
129: iload 9
131: i2d
132: iload 10
134: i2d
135: invokestatic
#168; //Method java/awt/geom/AffineTransform.getTranslat
eInstance:(DD)Ljava/awt/geom/AffineTransform;
138: invokevirtual #174; //Method java/awt/font/TextLayout.getOutline:(Ljav
a/awt/geom/AffineTransform;)Ljava/awt/Shape;
141: astore 11
143: aload_3
144: aload_0
145: invokespecial #178; //Method getRandomColor:()Ljava/awt/Color;
148: invokevirtual #182; //Method java/awt/Graphics2D.setColor:(Ljava/awt/C
olor;)V
151: aload_3
152: new
#186; //class java/awt/BasicStroke
155: dup
156: aload_0
157: getfield
#83; //Field _strokeWidth:F
160: invokespecial #188; //Method java/awt/BasicStroke."<init>":(F)V
163: invokevirtual #191; //Method java/awt/Graphics2D.setStroke:(Ljava/awt/
Stroke;)V
166: aload_3
167: aload 11
169: invokevirtual #195; //Method java/awt/Graphics2D.draw:(Ljava/awt/Shape
;)V
172: return
LineNumberTable:
line 57: 0
line 59: 5
line 60: 9
line 61: 12
line 59: 15
line 62: 20
line 63: 29
line 62: 35
line 64: 38
line 66: 44
line 67: 54
line 69: 66
line 70: 72
line 72: 79
line 73: 92
line 74: 107
line 75: 127
line 77: 143
line 78: 151
line 80: 166
line 81: 172
LocalVariableTable:
Start Length Slot Name Signature
0
173
0
this
Lnl/captcha/text/renderer/ColoredEdgesWordRen
derer;
0
173
1
word
Ljava/lang/String;
0
173
2
image
Ljava/awt/image/BufferedImage;
5
168
3
g
Ljava/awt/Graphics2D;
20
153
4
hints
Ljava/awt/RenderingHints;
54
119
5
as
Ljava/text/AttributedString;

72
79
92
107
127
143
}

101
94
81
66
46
30

frc
Ljava/awt/font/FontRenderContext;
aci
Ljava/text/AttributedCharacterIterator;
tl
Ljava/awt/font/TextLayout;
9
xBaseline
I
10
yBaseline
I
11
shape
Ljava/awt/Shape;

7
8

Anda mungkin juga menyukai