- pixel.Red=(rand()%200);\r
- pixel.Green=(rand()%200);\r
- pixel.Blue=(rand()%200);\r
- PrintLetter(bmp,puzzlestring[i],5+(i*20),10+(rand()%10),20,pixel);\r
+ skew=skew+(double)((rand()%11)-5)/20.0;\r
+ int xx;\r
+ for(xx=0; xx<skew; xx++)\r
+ {\r
+ pixel.Red=255;\r
+ pixel.Green=255;\r
+ pixel.Blue=255;\r
+ bmp.SetPixel(xx,yy,pixel);\r
+ }\r
+ if(skew<0)\r
+ {\r
+ for(xx=0; xx<bmpwidth+skew; xx++)\r
+ {\r
+ pixel=bmp.GetPixel(xx-skew,yy);\r
+ bmp.SetPixel(xx,yy,pixel);\r
+ }\r
+ }\r
+ else\r
+ {\r
+ for(xx=bmpwidth-1; xx>skew; xx--)\r
+ {\r
+ pixel=bmp.GetPixel(xx-skew,yy);\r
+ bmp.SetPixel(xx,yy,pixel);\r
+ }\r
+ }\r
+ for(xx=bmpwidth+skew; xx<bmpwidth; xx++)\r
+ {\r
+ pixel.Red=255;\r
+ pixel.Green=255;\r
+ pixel.Blue=255;\r
+ bmp.SetPixel(xx,yy,pixel);\r
+ }\r
+ }\r
+ */\r
+\r
+ // generate noise for each pixel\r
+ for(int yy=0; yy<bmpheight; yy++)\r
+ {\r
+ for(int xx=0; xx<bmpwidth; xx++)\r
+ {\r
+ RGBApixel pixel=bmp.GetPixel(xx,yy);\r
+ int tempred=pixel.Red+(rand()%21)-10;\r
+ int tempgreen=pixel.Green+(rand()%21)-10;\r
+ int tempblue=pixel.Blue+(rand()%21)-10;\r
+\r
+ tempred < 0 ? tempred=0 : false;\r
+ tempred > 255 ? tempred=255 : false;\r
+ tempgreen < 0 ? tempgreen=0 : false;\r
+ tempgreen > 255 ? tempgreen=255 : false;\r
+ tempblue < 0 ? tempblue=0 : false;\r
+ tempblue > 255 ? tempblue=255 : false;\r
+\r
+ pixel.Red=tempred;\r
+ pixel.Green=tempgreen;\r
+ pixel.Blue=tempblue;\r
+\r
+ bmp.SetPixel(xx,yy,pixel);\r
+ }\r