Pixel Manipulation - Create Art Object Using JPG Or BMP At Indicated Location
Nov 20, 2014
I am working on a project using pictures and am having some trouble. My assignment is to take a jpeg, and reflect it(over an imaginary x-axis so to speak). As this is my first time working with images, I am very lost. My approach was to take "pixel 0" and have it swap places with "pixel max". Theoretically, I believe I would only need to do this for the first 50% of the pixels, as each flip works on 2 opposite pixels. With my code thus far (the reflect() method), I print the left half of the image. Note: I must use pixel manipulation. I cannot use graphics.
public class MyArt
{
private Picture image;
/**
* Create an Art object using the jpg or bmp at the indicated location
*/
public MyArt(String filename)
{
image = new Picture(filename);
I currently have an on going project of making a gameengine and am currently doing a lighting engine. How to create simple algorithm of explain to me the concepts of creating a algorthm to do a task, like explain how to get the hue saturation and brightness. This preferably needs to be done in java for me to copy the code but as long as i have a concept to go by I could probably translate the code over so it's not to much of a problem.
I have a jpeg that I need to print a border around. My plan was to take the jpeg and throw it on top of a second image that is a few pixels bigger in each direction. Currently, my code prints the image with a white border on the right and bottom sides. Is there a way to print the border on all sides, and maybe even make it a more distinct color? I am not allowed to use graphics. I can only manipulate pixels. Here is the basis of my code.
public class MyArt { private Picture image; /** * Create an Art object using the jpg or bmp at the indicated location */ public MyArt(String filename) { image = new Picture(filename);
I need to create an java 2D application for the manipulation of image. I saw the JAI library but it can not install it properly, I also copied the jar but I can not find the solution. How can I do? there is a replacement for JAI? what other libraries can I use?
//Setting the size of the graphics window final int WINDOW_DIMENSION = 200; EasyGraphics generate = new EasyGraphics(WINDOW_DIMENSION,WINDOW_DIMENSION);
[Code].....
What I would like to do is to convert the 200x200 picture to a 600x600 graphic window. Currently, my code is structured in such a way that it zooms into the 200x200 display by a factor of 3.
Sir, I'am new to Swing Programming. I have to create an application where an image is displayed on one Label. The same image has to be split in parts and stored in database pert wise. Later the user has to retrieve the entire image by viewing a small part of the image. I have already displayed the full image on the Label, now i don't know how to split the image and store it part wise in the database.
Task:The main method of the class Things below creates an object called printer deriving from the class PrintingClass and uses that object to print text. Your task is to write the PrintingClass class.
Program to complete: import java.util.Scanner; public class Things { public static void main(String args[]) { String characterString; Scanner reader = new Scanner(System.in); PrintingClass printer = new PrintingClass(); System.out.print("Type in the character string for printing: "); characterString = reader.nextLine(); printer.Print(characterString); } }
// Write the missing class here
Note: In this exercise the solution is part of a conversion unit where many classes have been declared. Because of this the classes are not declared as public using the public attribute.
Example output
Type in the character string for printing: John Doe
John Doe
My Class: class PrintingClass { public void print(){ System.out.println(characterString); } }
I was reading the oracle java tutorial under: URL....Here's the code for the Point class:
public class Point { public int x = 0; public int y = 0; //constructor public Point(int a, int b) { x = a; y = b; } }
and in the Rectangle class you have the following constructor:
public Rectangle(Point p, int w, int h) { origin = p; width = w; height = h;
If we create a new Point object like this:
Point originOne = new Point(23, 94);
and then a new Rectangle object like this:
Rectangle rectOne = new Rectangle(originOne, 100, 200);
Will that set originOne to point to the object Point at (23, 94). just want to make that this is the meaning of this statement: Point(Point p)Constructs and initializes a point with the same location as the specified Point object.
I am making a 2d game engine and i was wonder is it better to use BufferedImages and subImages to store/render sprites from sprite sheets or use BufferedImages and store it in a pixel array and then manipulate the pixel array to do what you want.
Basically is loading in BufferedImage and getting the tile of the sprite sheet with subImages better than loading in a BufferedImage and then putting the data in a pixel array and making a new array with the part of the BufferedImage you want.what i have been told the BufferedImage and subImage use more of the graphics card and the pixel array method uses more of the processor.
I'm working on a project based on Roger Alsing's Mona Lisa evolution.
My problem seems to be that when I compare the RGB values of the target image and the randomly generated image, I don't get a representative result of how "close" the two images are.
I load the target image (a 24-bit bitmap) using:
img = ImageIO.read(new File(filePath));
I draw onto a BufferedImage with:
for(int i = 0; i < numPolys*12; i += 12){ p[(int)(i/12)].addPoint(gene[i], gene[i+1]); p[(int)(i/12)].addPoint(gene[i+2], gene[i+3]); p[(int)(i/12)].addPoint(gene[i+4], gene[i+5]); p[(int)(i/12)].addPoint(gene[i+6], gene[i+7]); Color mycol = new Color(gene[i+8], gene[i+9], gene[i+10], gene[i+11]); gf.setColor(mycol); gf.fillPolygon(p[(int)(i/12)]); }
And I compare the BufferedImage with the target image using:
for(int x = 0; x < inGene.x; ++x){ for(int y = 0; y < inGene.y; ++y){ Color mycol1 = new Color(exp.getRGB(x, y)); Color mycol2 = new Color(inImage.getRGB(x, y)); int delta = mycol1.getRed() - mycol2.getRed(); score += (delta * delta); delta = mycol1.getGreen() - mycol2.getGreen(); score += (delta * delta); delta = mycol1.getBlue() - mycol2.getBlue(); score += (delta * delta); } }
My problem is that my code runs to a certain point, where it seems no matter what happens to the image, it doesn't seem to get any closer to the target image.
So i wanted to try something new like find an image within an image. So for my "find" method I would like to take an image and use it to scan and compare sum of absolute differences with the bigger image. So that the smallest SAD would be the exact image that I am using to scan. What I am thinking is to put each pixel value of both images into two separate arrays and compare them via Math.abs(image1[i][j]-image2[i][j]); . My only problem is that I do not know how to put each pixel value into an array.
Also, If I only want to compare just the green in the picture. I saw that the Pixel class has a getGreen(); method. If I want to find the SAD of the green, would Math.abs(image1.getGreen()-image2.getGreen()); work? I was planning to have 2 nested loops running through each column and row for each image and just find the SAD of the green value.
how objects relate to classes and how you can create and re-use object types.on that point, but this has me baffled. I most certainly do not have a firm grasp yet on passing things to and from methods that just makes my head hurt. SO anyway I tried out one of the code examples:
/* ElectricGuitar.java */ class ElectricGuitar { String brand; int numOfPickups; boolean rockStarUsesIt;
[code]...
But I just realized this thing has no main method and only one class defined.....so I guess I just tried to compile.
//Scanner Test String stream2 = "ab34ef 56"; // create a new scanner with the specified String Object Scanner scanner = new Scanner(stream1); // find a string "World"
[Code] ....
Matched expression found by findInLine: 34
ef56
is new line? right?
The java.util.Scanner.nextLine() method advances this scanner past the current line and returns the input that was skipped. This method returns the rest of the current line, excluding any line separator at the end.
then 56 is in new line and it must return ef.What is the problem?
I know that System is a final class and it cannot be instantiated, out is a static final variable of type PrintStream in System class and println is a method in PrintStream class.Still I don't understand why we use System.out to call println() method.To my knowledge a method can be called using an object reference, in case of static behaviors we use classname. Then why here we are using System.out.println? Can't we just create an object of PrintStream class and call the println() method as PrintStream class can be instantiated.Are there any ways of calling a method apart from those I know(I have mentioned above what I know)?
(Using an Existing Class: Creating Objects and Calling Accessor and Mutator Methods)
I. The Assignment
This assignment is to write a "test" class (aka: a "driver" class or "client code") that uses the class Balloon.java, available on the class web page.
To use the Balloon class, download it and store it in the src folder of your NetBeans project. Make sure you save it as Balloon.java.
The best way to learn how to use the Balloon class or any other Java class, for that matter - is to consult the documentation, Balloon.html (online). You can also read the javadoc comments that appear just above the class declaration and above each method declaration, which explain what each method does, what the method's parameters are, and what value if any - is returned by the method. The html support pages are generated from these comments.
-Review declaring variables, creating objects, calling methods that return a value vs. void methods, and accessor and mutator methods before beginning. To receive credit for this assignment, you must not modify the Balloon class in any way!
II. Your BalloonTester Class
Your BalloonTester class will have only a single method "main" and will perform each of the following operations, in the exact order listed below. Each operation may be done in one or two statements. Make sure you follow directions faithfully, and note that once you have done step 3, you can copy and paste it to do steps 6, 9, and 12.
1.Create a Balloon object with a name of your own choosing and an altitude of 100 meters.
2.Create a second Balloon object with a name of your own choosing, and specify an initial altitude of -100 meters.
3.Call the accessor methods of the Balloon class to get the name and altitude of each Balloon object. Print the data, one object per line.
4.Make the object you created in step 1 ascend to an altitude of 250 meters.
5.Call the adjustAltitude method to increase the altitude of the object you created in step 2 by 150 meters.
6.Call the accessor methods of the Balloon class to get the name and altitude of each object. Print the data, one object per line.
7.Call the adjustAltitude method to decrease the altitude of the object you created in step 1 by 150 meters.
8.Make the object you created in step 2 descend to the same altitude as the other object. You may assume that the other object is at a lower altitude.
To get credit for step 8., the statement(s) you write must always work, regardless of the actual altitude of the second object. It cannot depend on you knowing the altitude of the second object, but must utilize the fact that the object knows its own altitude. In other words, if you use a literal in any way to set the altitude, it is not correct.
9.Call the accessor methods to get the name and altitude of each object. Print the data, one object per line.
10.Move the object you created in step 1 to an altitude that is four times its current altitude. As in step 8, the statement(s) you write must work for any altitude and may not depend on you figuring out the new altitude beforehand.
11.Attempt to move the object you created in step 2 to an altitude that is 150 meters below its current altitude.
12.Call the accessor methods to get the name and altitude of each object. Print the data, one object per line.
and this is the Balloon.java given:
// File: Balloon2.java // Modified Balloon class has overloaded constructors
/** * A class to represent a hot-air balloon. Balloon objects have a name and an altitude. */ public class Balloon2 { // instance variables private String name ; // name of the balloon private int altitude; // altitude (height) of balloon in meters
I'm curious why ACM isn't letting me create an object from a different class, maybe I am missing something?
my main class:
import java.awt.Color; import acm.program.*; import acm.graphics.*; public class MyClass extends GraphicsProgram { private static final int WINDOW_W = 500; private static final int WINDOW_H = 500;
[code]....
I have also noticed when trying to extend 'ConsoleProgram' it does the same thing with line printing (except when using system.out).
I can't figure out where to create the StringHandler object. My code should take a string as input, then create StringHandler object ord with the string input. This should repeat until cancel is pressed, then ord should be sent to the Utskrift-method (a print method).
If I do like this, null is also sent to Utskrift. I dont want that to happen. If I put StringHandler last in the loop ord can not be resolved.
String text = ""; while (text != null){ text = showInputDialog(null, "Enter text:"); StringHandler ord = new StringHandler(text); if (text == null){ [Utskrift(ord.getNumber(), ord.getString(), ord.getWords()); break; } }
I've been writing classes over and over for school. So I create a class outside of my main class. I create a new constructor and then create objects from my main class. I hope that makes sense. So i use methods in that class to work with the object. So I have an object name I've created <dot> method name. So I can create objects and then use methods from the class, but I'm wondering can I create a method in my main class and use it on that object? I don't understand how to do that.
Write a program that prompts the user for information about some countries, creates an object for each country, and then stores the objects in an array. After the user has entered information about all the countries, your program should print out which countries in the list have the smallest and largest area and population density. Assume the user will enter information about at least one country but that the program will not have to store more than ten countries in the array. The user will indicate that they are done entering countries by typing "DONE" for a country name. Here is an example of what your program must look like when it is executed (user input is shown bold)
Please enter the name of a country: United States Enter the area in square km and population of United States: 9827000 310000000 Please enter the name of a country: Mexico Enter the area in square km and population of Mexico: 1973000 122300000 Please enter the name of a country: Canada Enter the area in square km and population of Canada: 9985000 35160000 Please enter the name of a country: Liberia Enter the area in square km and population of Liberia: 111370 4294000 Please enter the name of a country: DONE
Liberia has the smallest area at 111370 square km. Canada has the largest area at 9985000 square km. Canada has the smallest population density at 3.521282 people per square km. Mexico has the largest population density at 61.986822 people per square km.
I don't know, I'm really confused with this Java program. I don't know how to do the main part of the program where the user inputs, array, and the output.
// Access the Scanner and ArrayList class by importing the java.util package. import java.util.Scanner;
/** Project - A Country Object * The purpose of this program is for the user to enter some information at most 10 countries. After the user has entered information about all the countries, the program should print out which countries in the list have the smallest and largest area and population density. */
public class Country { private String countryName; private int theArea; private int thePopulation; public Country(String countryName, int thePopulation, int theArea)
My program TestBind0 (code below) tries to find/create a registry and bind an object.
Find/create: it first tests if there is already a registry on that port; if not, then it tries to create one.
The program tries to find/create the registry on ports 40654, 50876, 30321, 33445, 1099, in this order, until it succeeds in both creating the registry and binding the object. Why does TestBind0 throw for each attempt
java.rmi.ConnectException: Connection refused to host: 192.168.1.64; nested exception is: java.net.ConnectException: Connection refused: connect at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:601) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184) at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)
[Code] ...
In reg.rebind("TestBind0", obj);even when I have specified -Djava.security.policy==all.policy, with file all.policy in the current dir, containing
grant { permission java.security.AllPermission; };
The program is run using command
java -cp bin -Djava.security.policy==all.policy TestBind0
The code:
import java.rmi.*; import java.rmi.registry.*; import java.rmi.server.*; import java.util.*; public class TestBind0 extends UnicastRemoteObject implements Counter { private static final long serialVersionUID = 1L; protected int count;
I want to create a program where I need to create an object of list type such as text file will contain nos like 1,2,3,4,5 and write into text file and delete the in FIFO order i.e 1,2,3,4,5...how i can achieve to write a program? I tried bt everytime got concurrent modification exception or Array out of bound exception.