Advertisement
Guest User

Untitled

a guest
Jun 26th, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. public static void circleOutl(int posX, int posY, int radius, int colour, int alpha) {
  2. int dest_intensity = 256 - alpha;
  3. int src_red = (colour >> 16 & 0xff) * alpha;
  4. int src_green = (colour >> 8 & 0xff) * alpha;
  5. int src_blue = (colour & 0xff) * alpha;
  6. int i3 = posY - radius;
  7. if (i3 < 0)
  8. i3 = 0;
  9. int j3 = posY + radius;
  10. if (j3 >= height)
  11. j3 = height - 1;
  12. for (int y = i3; y <= j3; y++) {
  13. int l3 = y - posY;
  14. int i4 = (int) Math.sqrt(radius * radius - l3 * l3);
  15. int x = posX - i4;
  16. if (x < 0)
  17. x = 0;
  18.  
  19. int pixel_offset = x + y * width;
  20. for (int i5 = 0; i5 <= 10; i5++) { //Left Side
  21. int dest_red = (pixels[pixel_offset] >> 16 & 0xff) * dest_intensity;
  22. int dest_green = (pixels[pixel_offset] >> 8 & 0xff) * dest_intensity;
  23. int dest_blue = (pixels[pixel_offset] & 0xff) * dest_intensity;
  24. int result_rgb = ((src_red + dest_red >> 8) << 16) + ((src_green + dest_green >> 8) << 8) + (src_blue + dest_blue >> 8);
  25. pixels[pixel_offset++] = result_rgb;
  26. }
  27. for (int k4 = 0; k4 <= 10; k4++) { //Right Side
  28. int dest_red = (pixels[pixel_offset] >> 16 & 0xff) * dest_intensity;
  29. int dest_green = (pixels[pixel_offset] >> 8 & 0xff) * dest_intensity;
  30. int dest_blue = (pixels[pixel_offset] & 0xff) * dest_intensity;
  31. int result_rgb = ((src_red + dest_red >> 8) << 16) + ((src_green + dest_green >> 8) << 8) + (src_blue + dest_blue >> 8);
  32. pixels[pixel_offset++] = result_rgb;
  33. }
  34. }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement