Project Introduction: Chapter-1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 29

CHAPTER-1

PROJECT INTRODUCTION

1. Introduction 1.1 Project Goal


The project's goal is to design and implement an Image Editor with number of standard image processing functions. For editing images can be a daunting task. That's why it's important to have a program that makes the whole process as friendly and effortless as possible. Unfortunately, Image Editor is not that kind of program. The program's user interface is both unattractive and unintuitive. Three rows of tiny command buttons run across the top of the window. We had to over our mouse over each one to find out what it's supposed to do. The only Help feature we could find was a link to the publisher's Web site, and even then, we were unable to spot any kind of FAQs or support page. We opened an image file to test the program, and cropped, rotated, and flipped the image successfully. The Image Editor provides a number of tools that enable you to adjust a photograph. Image editing is the heart of the creative act of photographic printmaking it is where you transform a well-crafted snapshot into a work of art. Any image uploaded to your sites media library can be
edited using your Image Editor. To access the image editor go to Media Library in your dashboard and click on the name of an image you want to edit. Now just click on the Edit Image link to reveal the advanced editing options

Image Editor's preview option lets you see your changes before you make them permanent, a must for any image editor. A few of the commands puzzled us. For the example, there was a button that was supposed to "Enhance an image." When we clicked on it, we expected a window to appear that would allow us to manipulate the image in some way. Nothing appeared, and after a few seconds the program stopped working altogether and had to be restarted, which was not encouraging. Image Editor is a bitmap image-editing application that lets you retouch existing photos or create original graphics.

One of the reasons that intruders can be successful is the most of the information they acquire from a system is in a form that they can read and comprehend. Intruders may reveal the information to others, modify it to misrepresent an individual or organization, or use it to launch an attack. One solution to this problem is, through the use of image editor is a application in digital media. Image Editor Suite that offers all the standard editing and paint tools, as well as image layers and several other features that are usually not found in free image editors. The programs also includes screen capture tools, an image browser, and as well as photo frames, channel adjustments and more.

The product is part of the image processing software family such as Adobe Photoshop, Corel Draw and likewise. The project is an effort to build a Photoshop on a smaller case, with an easy to use user interface and an easy to understand user manual guideline to help the user how to play with image pixels and colors and other parameters The captured image can be loaded into the internal image editor for further editing, saved as image file (JPG, PNG, GIF,BMP) or automatically uploaded to your FTP server (upload the image and copy the URL to the clipboard)

The project is an effort to build a Photoshop on a smaller case, with an easy to use user interface and an easy to understand user manual guideline to help the user how to play with image pixels and colors and other parameters The captured image can be loaded into the internal image editor for further editing, saved as image file (JPG, PNG, GIF,BMP) or automatically uploaded to your FTP server (upload the image and copy the URL to the clipboard

1.2 Objective

1.2. Abstract In this project we implemented a Image Editor, using the multi platform language: .NET. The application is implemented using.NET graphic and Advanced Imaging libraries. The main features of the image editor are: MDI (Multiple Document Interface) style application, which allow the user the view and edit multiple images simultaneously. Support of the standard image file formats. Saving images in the following formats: o JPEG o GIF o BMP o PNG Geometric operations on images: o Rotate o Scale o Mirror (flip) Image Enhancement o Color dithering Image analysis o Edge detection Zooming on images: o Zoom in o Zoom out o Zoom in on selected area Print Images

1.3 Overview

Our project goal is to create an image-processing suite that will enable the user to enhance or lessen the quality of an image by changing certain parameters, or adding new ones. VB.NET is used as the basic programming platform for the software. VB.NET provides a vast library of tools for developing the required user interface of our software, and also the various imaging algorithms necessary. VB.NET has become increasingly popular of the last few years due to its ease of programming, its cross platform capabilities and its ability to be uses on the Internet in a web page. One of the downfalls of VB.NET is that it is much slower then native code. But as time goes by, VB.NET is becoming faster and faster and now isn't far behind the speed of C or C++.

Key benefits of VB.NET:


1. Platform independence code (Write once, run anywhere) 2. Object orientated 3. Easy of coding (no pointers or functions) We decided we could gain more knowledge by learning VB.NET then we would if we created the project in any other language. Using VB.NET, we could also experiment with the ability of platform independent code, so that this package would run on multiple operating systems such as Window NT/95/98, Linux and also the possibility of creating application for use on the web. When people need to use these products, they simply log onto the web site and start to work away. There are many advantages for both parties. On the software producer size it means easier to create software releases, updates and patches, as the bulk of the program will be centralized on the server. The client/user can benefit by using a cheaper computer. Payment can be based on an hourly / monthly charge. Users will be able to try out a product without purchasing it. If the user doesn't like the product they dont have to use or pay for it. With the ability of creating my project for user friendly approach people can log onto my homepage and use the program without having to download and install it onto their computers. A large amount of time will be spent becoming familiar with programming in the Java programming language, also researching and analyzing the methods by which this project could be implemented. Computer graphics is a highly processor intensive activity. As will become clear in our discussion on filtering techniques, the number of computations for a simple algorithm can often take quite some time

CHAPTER-2

STUDY OF PROJECT

2. Study of Project 2.1 Study of the System


Before starting to code the project, a decision was made to use OOD (Object Oriented Design) to design the main points of the project, as the language that was to be used was an Object-Oriented language. Object-Oriented Design (OOD) practice in software engineering is essential for keeping down the cost of the ever-increasing amount of software being developed now and that have to be maintained in the future The project was designed by using different parts of OMT (Object Modeling Technique) methodology. OMT is a methodology used by many software engineers to design interaction between different parts of a project before starting the work on creating the project. Object Oriented Analysis (OOA) is concerned with generating a problem statement and investigating what needs to be done, while Object Oriented Modeling (OOM) addresses the needs of the Analysis model and is based on three different views of the system, which is the object, dynamic and functional models .Many problems can be avoided by using good design practices before the software development/coding stage. .

2.2 Object Model


The Object Model shows the static data structure of a system. The model describes object classes and their relationships to each other. From the general description of the project problem statement above, a list of objects and classes can be derived.

The list of important classes is shown below:


o Image processing suite (create the user interface) o Picture (it contains methods two load the image and display the image) o Print (print preview also available). o Edit (perform no. of operation such as scroll, zooming, etc.)

2.3. Project Scope


This project is developed for user friendly approach environment in any image file. This project can provide a number of facilities as compare to other image editor. It includes any type of image file and path where the user wants to save and extruded file.

CHAPTER-3

ANALYSIS OF PROJECT

Hardware & Software Requirement

3.1 Hardware Requirements


Processor RAM HARDDISK : : : Pentium-IV 1GB 20 GB

3.2 Software Requirements


Microsoft VISUAL STUDIO.NET Language Operating System : : : 2008(Framework 3.5) VB.NET WINDOWS XP or above

3.3 .NET Framework:


As the name implies, VB .NET run on the top of Microsofts .NET framework, meaning the language has full access to all of the supporting classes in the framework. Its also possible to run VB .NET programs on top of Mono, the open-source alternative to .NET under either Windows or even Linux.

3.4 Introduction to VB.NET:


In the July 2000, Microsoft announced a whole new software development framework for window called VB.net in the Professional Developer Conference (PDC). Microsoft also released PDC version of the software foe the developers to test. After initial testing and feed work Beta 1 of .net was announced. When Microsoft announced beta 2, it incorporated many changes suggested by the community and internals into the software. The overall Beta phase lasted for more than 1 years. Finally, in March released final version of the .Net framework. One thing to be noted here is the change in approach of Microsoft while released this new platform. Unlike other software where generally only a handful people are invoked in beta testing. .Net was throw open to community for testing in its every pre-release version. This is one of the reasons why it creates so many waves of excellent within the community and industry as well.

Microsoft has put in grate efforts in this new platform. In fact Microsoft says that its future depends on success of .Net. The development of ..Net is such an important event that Microsoft considers it equivalent new and version upgrades of existing products- will revolve around .Net. If you want to be at the forefront of Microsoft Technologies, you should know .Net. Environments.

CHAPTER-4

SYSTEM DESIGN

4. System Design

4.1.

Data Flow Diagrams A data flow diagram is graphical tool used to describe and analyze movement of data through a

system. These are the central tool and the basis from which the other components are developed. The transformation of data from input to output, through processed, may be described logically and independently of physical components associated with the system. These are known as the logical data flow diagrams. The physical data flow diagrams show the actual implements and movement of data between people, departments and workstations. A full description of a system actually consists of a set of data flow diagrams. Using two familiar notations Yourdon, Gane and Sarson notation develops the data flow diagrams. Each component in a DFD is labeled with a descriptive name. Process is further identified with a number that will be used for identification purpose. The development of DFDS is done in several levels. Each process in lower level diagrams can be broken down into a more detailed DFD in the next level. The lop-level diagram is often called context diagram. It consists a single process bit, which plays vital role in studying the current system. The process in the context level diagram is exploded into other process at the first level DFD.

DFD SYMBOLS: In the DFD, there are four symbols 1. A square defines a source(originator) or destination of system data. 2. An arrow identifies data flow. It is the pipeline through which the information flows 3. A circle or a bubble represents a process that transforms incoming data flow into outgoing data flows. 4. An open rectangle is a data store, data at rest or a temporary repository of data

Process that transforms data flow.

Source or Destination of data

Data flow

Data Store

CONSTRUCTING A DFD: Several rules of thumb are used in drawing DFDS:

1. Process should be named and numbered for an easy reference. Each name should be representative of the process. 2. The direction of flow is from top to bottom and from left to right. Data traditionally flow from source to the destination although they may flow back to the source. One way to indicate this is to draw long flow line back to a source. An alternative way is to repeat the source symbol as a destination. Since it is used more than once in the DFD it is marked with a short diagonal. 3. When a process is exploded into lower level details, they are numbered. 4. The names of data stores and destinations are written in capital letters. Process and dataflow names have the first letter of each work capitalized A DFD typically shows the minimum contents of data store. Each data store should contain all the data elements that flow in and out. Questionnaires should contain all the data elements that flow in and out. Missing interfaces redundancies and like is then accounted for often through interviews.

DFD of Image Editor ImageEditor

ImageEditorFrame

EditorManager

Import Select dire.

Print

zooming

Scrolling Copy to Tools Move to SaveImageDialog Editor ImageManager About

JpegPropertiesDlg

PngPropertiesDlg GifPropertiesDlg bmpPropertiesDlg

CHAPTER-5

CODE ANALYSIS

5. Code Analysis 5.1. ImageEditorFrame class The main function of ImageEditorFrame class is to implement the applications main frame. It provides the user the UI for the main features of the application through a tool bar and a menu. The main methods of ImageEditorFrame class are the following: ImageEditorFrame() constructor, creates the object of ImageEditorFrame, initialize all the visual components and the event handlers. The main data structures used by the EditorManager class are: An instance of the EditorManager class for performing the desired operation on the images, and handling the multiple documents.

5.2 Editor Manger class This class holds all the logic and handling of the Multiple Document Interface. For this purpose it holds an instance of the Vector class. This instance is a vector of instances of ImageManager class and is the data base of all the currently opened images. This data base is used for arranging the images (tiled horizontally or vertically or cascaded), finding the image that currently has the focus, closing all images and saving all images that need saving In addition, this class perform the image manipulation operations. These operations can be divided to two: operation on one image and operations on more then one image. The operations on one image are performed using an instance of ImageManager class that is the currently focused image. The operations that are performed on more than one image are implemented by this class. These operations are: arithmetic operations (add, subtract, multiply, divide), and copying part of an image and pasting it (to the same image or to another).

The main methods of EditorManager class are: EditorManger() constructor, creates the EditorManger object. ArithmeticOperations() This method perform an arithmetic operation (add, subtract, multiply or divide) on two images. Cascade() this method arrange all the internal frames in cascade. Copy() This method copies the area selected by the user. Paste() this method pastes the part of the image that was copied. TileHorizontally() This method arranges all the internal frames horizontally tiled. TileVertically() - This method arranges all the internal frames vertically tiled. GetFocusedImage() This method returns the ImageManager object of the image that currently has the focus.

The main data structures used by the EditorManager class are: An object of the Vector, this vector holds all the ImageManager objects. An object of the PlanarImage class that is the area the user selected for copy and paste operations.

5.3 ImageManager class The ImageManger class represents an image. This image is on an internal frame. For this purpose it implements the InternalFrameListener, MouseListener and MouseMotionListener classes. This class implements the displaying of an image on an internal frame, the handling of the events associated with the internal frame and the mouse, the opening and saving of an image file, and the image manipulation operations (such as rotating an image, scaling an image, drawing on an image etc.)

The main methods of this class are described below: ImageManager () constructor, creates the ImageManager object. Open() This method opens an image file. Save() This methods save an image in its original file format and file name. SaveAs() This method save an image with a new file name and/or new image file format. CloseImage() This method closes an image file, and saves it if the user wants. Put() This method puts an image on an internal frame (a new one if needed). PerformMedianFilterOnImage() This method perform the median filter operation on the image. PutText() This method add text to the image at a specified position. RotateImage() This method rotates the image. ScaleImage() This method scales up/down the image at the specified factor for X and Y axis. SharpenImage() This method sharpen the image using a convolution operation. Undo() This method return the image to the last state before the current change. ZoomImage() this method displays a zoom in/out image of the image. EdgeDetect() This method performs an edge detection operation on the image using a convolution operation. FlipImage() This method perform a flip/mirror operation on the image.

The major data structures used in this class are: An object of the PlanarImage class which is the image itself. An object of the JinternalFrame class, which is the internal frame, the image is displayed on. Another object of the PlanarImage class which is the Undo image (the image before the last operation).

5.4. MirrorDialog class The MirrorDialog class implements the user interface for getting the type of mirror/flip operation the user wants to perform. The four possible mirror operations are: Vertical flip Horizontal flip Diagonal flip Anti-diagonal flip The MirrorDialog class extends the JDialog class. The main methods of the MirrorDialog class are: MirrorDialog() Constructor construct the MirrorDialog object ShowDialog() This methods displays the mirror dialog and returns a value according the button the user pressed (Ok, apply or cancel). GetFlipType() This method returns the type of mirror operation the user selected.

5.5. ScaleDialog class

The ScaleDialog class implements the user interface for getting the values for the scale operation the user wants to perform. The user can enter the value for the scale in the X axis and the Y axis separately or to check the Maintain aspect ratio option for the same scale percentage on both axis. The ScaleDialog class extends the JDialog class. The main methods of the ScaleDialog class are: ScaleDialog() Constructor construct the ScaleDialog object ShowDialog() This methods displays the scale dialog and returns a value according the button the user pressed (Ok, apply or cancel). GetXScaleValue() This method returns the value for the scale operation on X axis. GetYScaleValue() This method returns the value for the scale operation on Y axis.

5.6. RotateDialog class The RotateDialog class implements the user interface for getting the rotation angle for the rotate operation. The RotateDialog class extends the JDialog class. The main methods of the RotateDialog class are: RotateDialog() Constructor construct the RotateDialog object ShowDialog() This methods displays the rotate dialog and returns a value according the button the user pressed (Ok, apply or cancel). getValue() This method returns the rotation angle the user entered.

5.7. SaveImageDialog class The SaveImageDialog class implements the user interface for saving an image file. The user can select the file name and path, the image file format, and can define the properties for the saving for some of the file formats. The SaveImageDialog class extends the JFileChooser class for adding it the ability to define the save properties by the Advanced button.

The main methods of the SaveImageDialog class are: SaveImageDialog () Constructor construct the SaveImageDialog object.

5.8. JpgPropertiesDlg class The JpgPropertiesDlg class implements the user interface for getting the properties for the saving in JPEG format. The user can select the quality/compression value and the sub-sampling value. The JpgPropertiesDlg class extends the JDialog class. The JpgPropertiesDlg is implemented as a singleton object, thats because it is used by the SaveImageDialog class for defining the save properties, and by the ImageManager class for actually saving in the JPEG file format. The values the user enters become the default values for the next save operations. The main methods of the JpgPropertiesDlg class are: JpgPropertiesDlg () Constructor construct the JpgPropertiesDlg object. GetQualityValue() This method returns the quality value. This value is between 0 to 1, when 1 is the best quality and 0 is the best compression. GetHorizontalSubSampling() This method return the horizontal sub sampling the user selected. It returns an instance of the class SubSamplingFactor. GetVerticalSubSampling() This method return the vertical sub sampling the user selected. It returns an instance of the class SubSamplingFactor.

5.9 PngPropertiesDlg class The PngPropertiesDlg class implements the user interface for getting the properties for the saving in PNG format. The user can choose to save the file as interlaced or non-interlaced. The PngPropertiesDlg class extends the JDialog class. The PngPropertiesDlg is implemented as a singleton object, thats because it is used by the SaveImageDialog class for defining the save properties, and by the ImageManager class for actually saving in the PNG file format. The values the user enters become the default values for the next save operations. The main methods of the PngPropertiesDlg class are: PngPropertiesDlg () Constructor construct the PngPropertiesDlg object. GetInterlaced () This method returns true if the user chose to save the file as interlaced.

5.10. ZoomPreferencesDialog class The ZoomPreferencesDialog class implements the user interface for setting the preferences for the zoom operations. The user can set the zoom in percentage value, and the zoom out percentage value. The ZoomPreferencesDialog class extends the JDialog class. The main methods of the ZoomPreferencesDialog class are: ZoomPreferencesDialog () Constructor construct the ZoomPreferencesDialog object. GetZoomInValue () This method returns the zoom in percentage value the user entered. GetZoomOutValue () This method returns the zoom out percentage value the user entered.

6. Implementation
6.1.Methodology:

Waterfall - Software Development Model

Software products are oriented towards customers like any other engineering products. It is either driver by market or it drives the market. Customer Satisfaction was the main aim in the 1980's. Customer Delight is today's logo and Customer Ecstasy is the new buzzword of the new millennium. Products which are not customer oriented have no place in the market although they are designed using the best technology. The front end of the product is as crucial as the internal technology of the product. A market study is necessary to identify a potential customers need. This process is also called as market research. The already existing need and the possible future needs that are combined together for study. A lot of assumptions are made during market study. Assumptions are the very important factors in the development or start of a product's development. The assumptions which are not realistic can cause a nosedive in the entire venture. Although assumptions are conceptual, there should be a move to develop tangible assumptions to move towards a successful product. Once the Market study is done, the customer's need is given to the Research and Development Department to develop a cost-effective system that could potentially solve customer's needs better than the competitors. Once the system is developed and tested in a hypothetical environment, the development team takes control of it. The development team adopts one of the software development models to develop the proposed system and gives it to the customers.

This model has the following activities. 1. 2. 3. 4. 5. Software Requirements Analysis Systems Analysis and Design Code Generation Testing Maintenance

1) Software Requirement Analysis Software Requirement Analysis is also known as feasibility study. In this requirement analysis phase, the development team visits the customer and studies their system requirement. They examine the need for possible software automation in the given software system. After feasibility study, the development team provides a document that holds the different specific recommendations for the candidate system. It also consists of personnel assignments, costs of the system, project schedule and target dates. The requirements analysis and information gathering process is intensified and focused specially on software. To understand what type of the programs to be built, the system analyst must study the information domain for the software as well as understand required function, behavior, performance and interfacing. The main purpose of requirement analysis phase is to find the need and to define the problem that needs to be solved. 2) System Analysis and Design In System Analysis and Design phase, the whole software development process, the overall software structure and its outlay are defined. In case of the client/server processing technology, the number of tiers required for the package architecture, the database design, the data structure design etc are all defined in this phase. After designing part a software development model is created. Analysis and Design are very important in the whole development cycle process. Any fault in the design phase could be very expensive to solve in the software development process. In this phase, the logical system of the product is developed. 3) Code Generation In Code Generation phase, the design must be decoded into a machine-readable form. If the design of software product is done in a detailed manner, code generation can be achieved without much complication. For generation of code, Programming tools like Compilers, Interpreters, and

Debuggers are used. For coding purpose different high level programming languages like C, C++, Pascal and Java are used. The right programming language is chosen according to the type of application. 4) Testing After code generation phase the software program testing begins. Different testing methods are available to detect the bugs that were committed during the previous phases. A number of testing tools and methods are already available for testing purpose. 5) Maintenance Software will definitely go through change once when it is delivered to the customer. There are large numbers of reasons for the change. Change could happen due to some unpredicted input values into the system. In addition to this the changes in the system directly have an effect on the software operations. The software should be implemented to accommodate changes that could be happen during the post development period.

7. TESTING 7.1 Introduction

Software testing is a critical element of software quality assurance and represents the ultimate reviews of specification, design and coding. Testing represents an interesting anomaly for the software. During earlier definition and development phases, it was attempted to build software from an abstract concept to a tangible implementation. No system is error free because it is so till the next error drops up during any phase of the development or usage of the product. A sincere effort however needs to be put to bring out a product that is satisfactory. The testing phase involves the testing of development system using various data. Preparation of the test data plays a vital role in system testing. After preparing the test data, the system under study was tested using those data. While testing the system, by using the test data, errors were found and corrected by using the following testing steps and corrections were also noted for future use. Thus, a series of testing is performed on the proposed system before the system is ready for implementation.

TEST PLAN:

The importance of software testing and its implications cannot be overemphasized. Software testing is a critical element of Software Quality Assurance and represents the ultimate review of the specifications, design and coding. Software Testing:

As the coding is completed according to the requirement we have to test the quality of the software. Software testing is a critical element of the software quality assurance and represents the ultimate review of specification, design and coding. Although testing is to uncover the errors in the software functions appear to be working as per the specification, those performance requirements appear top have been met. In addition, data collected as testing is conducted provide a good indication of software reliability and some indications of software quality as a whole. To assure the software quality we conduct both white box testing and black box testing.

White box testing White box testing is a test case design method that uses the control structure of the procedural designs to derive test cases. As we are using a non procedural language, there is very small scope for the white box testing. Whenever it is necessary, there the control structures are tested and successfully passed all the control structures with a very minimum errors.

Black box testing It focuses on the functional requirements to the software. It enables to derive sets of input conditions that will fully exercise all functional requirements for a program. The Black box testing finds almost all errors. It finds some interface errors and errors in accessing the database and some performance errors. In Black box testing we use two techniques equivalence partitioning the boundary volume analyzing technique.

System testing: It is designated to uncover weakness that was not detected in the earlier tests. The total system is tested for recovery and fallback after various major failures to ensure that no data are lost. an acceptance test is done to validity and reliability of the system. The philosophy behind the testing is to find error in project. There are many test cases designed with this in mond.The flow of testing is as follows

Code Testing : Specification testing is done to check if the program does with it should do and how it should behave under various condition or combinations and submitted for processing in the system and it is checked if any overlaps occur during the processing. This strategy examines the logic of the program. Here only syntax of the code is tested. In code testing syntax errors are corrected, to ensure that the code is perfect.

Unit Testing : The first level of testing is called unit testing. Here different modules are tested against the specification produced running the design of the modules. Unit testing is done to test the working of individual modules with test oracles. Unit testing comprises a set of tests performed by an

individual programmer prior to integration of the units into a large system. A program unit is usually small enough that the programmer who developed it can test it in a great detail. Unit testing focuses first on the modules to locate errors. These errors are verified and corrected so that the unit perfectly fits to the project.

System Testing : The next level of testing is system testing and acceptance testing. This testing is done to check if the system has met its requirements and to find the external behavior of the system. System testing involves two kinds of activities.

Integration testing Acceptance testing

The next level of testing is called the Integration testing. In this many tested modules are combined into subsystems, which were then tested. Test case data is prepared to check the control flow of all the modules and to exhaust all possible inputs to the program. Situations like treating the modules when there is no data entered in the test box is also tested.

This testing strategy dictates the order in which modules must be available, and exerts strong influence on the order in which the modules must be written, debugged and unit tested. In integration testing, all modules on which unit testing\g is performed are integrated together and tested.

Acceptance testing: This testing is performed finally by user to demonstrate that the implemented system satisfies its requirements. The user gives various inputs to get required outputs.

Specification Testing: This is done to check if the program does what it should do and how it should behave under various conditions or combination and submitted for processing in the system and it is checked if any overlaps occur during the processing.

Performance Time Testing: This is done to determine how long it takes to accept and respond i.e., the total time for processing when it has to handle quite a large number of records. It is essential to check the exception speed of the system, which runs well with only a handful of test transactions. Such systems might be slow when fully loaded. So testing is done by providing large number of data for processing. A system testing is designed to uncover weaknesses that were not detected in the earlier tests. The total system is tested for recovery and fall back after various major failures to ensure that no data is lost during an emergency, an acceptance test is done to ensure about the validity and reliability of the system.

Test Cases

Name of the Test Case: Image Selection Form Test Case # 01 Test Case Description Click on change open in file menu. Click on open button without selecting an image. Expected Results It should open the open dialog box It should ask for select an image. Pass / Fail Pass Actual Results It has opened the open dialog box. Pass It has showing error message should image 03 Select an image from the It should be redirect to open dialog box. other form Pass It should be redirect to other form. for select you an

02

PC Image Editor Features:


Browse images in thumbnail mode. Import and export various graphic formats, including BMP, GIF, JPG, TIFF, PCX, PNG, TGA, J2K, WMF, EMF, and RAS. Apply 18 filters such as Blur, Sharp, Add Noise, Diffuse, Mosaic, Twirl, Emboss, and etc. Add image effects such as Rotate 90, 180 and Arbitrary, Flip Horizontal and Vertical, Crop, Perspective, Skew, and etc. With 12 adjustment commands such as Auto Levels, Auto Contrast, Brightness, Contrast, Gamma Channel, Hue, Saturation, RGB Channel, Invert, Colorize, Equalize, Threshold, Posterize, and etc. Setting an image as the desktop wallpaper. Print images with full functionality. Also ability to resize images. Free update for any new version. PC Image Editor is provided as FREEWARE for private (non-commercial) or educational (including non-profit organization) use. In these cases, you are granted the right to use and to make an unlimited number of copies of this program. However, for commercial use, it is required to register the software. Registering is an important source of support in the development of future versions.

You might also like