Search engine !!

http://textwatermarking.blogspot.com/ Web

Guruji's maya 4

Tuesday, April 7, 2009

1. INTRODUCTION

It has always been difficult to associate text with images. Most often an image editing software such as photoshop, Flash or 3dsmax etc are used to associate text with the image. This requires multimedia or DTP professionals to work on those images.
The application to be developed includes a GUI rich front end that would allow the users to choose a bitmap at runtime dynamically. The text to be embedded is also accepted at runtime. The concept of watermarking is performed to associate the text permanently on the image without having to edit it. The text is carefully placed in to the image not affecting the image during the process. The embossed text is then available for applying filters to determine its prominence over the placed image.
A facility to apply filters (opacity) on the text is provided. The brightness of the text can be adjusted as per the client requirement. The position of the text is adjusted to the top, bottom or any location of the images.If the source image is not in index pixel format then it cannot be readily used the conversion module allows the image from a different format to be converted into the jpeg format. This enables the source image to be of any format.

1.2 Existing System
The present system involves making of watermarked images using multimedia software’s. This third party software has to be used to create these watermarked images. Other software’s such as Paint brush can be used but is not user friendly when it comes to edit text. Software’s such as PowerPoint allows good usage of text and images but the text and image exist as different layers and hence it is not in accordance with the principle of watermarking.
Few software’s in the above requires multimedia knowledge and hence not user friendly to every user.
Text editing when using paint brush is not customizable.
The time taken to watermark an image would depend upon the skill of the designer.
When large number of images have to be watermarked it is not permissible to use multimedia software’s for instant results.

1.3 Proposed System
The system proposes to create a user friendly graphic rich tool to perform watermarking.
The system identifies the source image (indexed pixel format) and text which is then embossed on the image. The brightness and contrast of the placed text can be controlled by the end user using opacity. The user can be any layman and still use the tool to impose the text on the image. It thoroughly isolates the requirement of any multimedia software’s or designers. Any number of images can be watermarked one by one without much of a delay as it would happen in the case of using multimedia software’s. The tool is fast and reliable. Additionally for images that do not match in format for being watermarked, conversion facility is provided to alter the image to the recognized format.
Does not require any multimedia software or designing knowledge.
The text can be altered or redrawn without using any tool.
When large number of images is available to watermark the process can be done sooner.

2. SOFTWARE DEVELOPMENT

2.1 Overview of .Net Framework
The .NET Framework is a new computing platform that simplifies application development in the highly distributed environment of the Internet. The .NET Framework is designed to fulfil the following objectives.
To provide a consistent object-oriented programming environment whether object code is stored and executed locally, executed locally but Internet-distributed, or executed remotely.
To provide a code-execution environment that minimizes software development and versioning conflicts.
To provide a code-execution environment that guarantees safe execution of code, including code created by an unknown or semi-trusted third party.
To provide a code-execution environment that eliminates the performance problems of scripted or interpreted environments.
To make the developer experience consistent across widely varying types of applications, such as Windows-based applications and Web-based applications.
To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.

The .NET Framework has two main components: the common language runtime and the .NET Framework class library. The common language runtime is the foundation of the .NET Framework. You can think of the runtime as an agent that manages code at execution time, providing core services such as memory management, thread management, and remoting, while also enforcing strict type safety and other forms of code accuracy that ensure security and robustness. In fact, the concept of code management is a fundamental principle of the runtime. Code that targets the runtime is known as managed code, while code that does not target the runtime is known as unmanaged code.
The class library, the other main component of the .NET Framework, is a comprehensive, object-oriented collection of reusable types that you can use to develop applications ranging from traditional command-line or graphical user interface (GUI) applications to applications based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services
The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that can exploit both managed and unmanaged features. The .NET Framework not only provides several runtime hosts, but also supports the development of third-party runtime hosts.

For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for managed code. ASP.NET works directly with the runtime to enable ASP.NET applications and XML Web services.
The following illustration shows relationship of the common language runtime and the class library to your applications and to the overall system. The illustration also shows how managed code operates within a larger architecture.

2.2 .NET Framework in context
The following sections describe the main components and features of the .NET Framework in greater detail.
2.3 Features of the Common Language Runtime
common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime.
With regards to security, managed components are awarded varying degrees of trust, depending on a number of factors that includes their origin (such as the Internet, enterprise network, or local computer). This means that a managed component might not might not be able to perform file-access operations, registry-access operations, or other sensitive functions, even if it is being used in the same active application.
The runtime enforces code access security. For example, users can trust that an executable in a Web page can play an animation on screen or sing a song, but cannot access their personal data, file system, or network. The security features of the runtime thus enable legitimate Internet-deployed software to be exceptionally featuring rich.
The runtime also enforces code robustness by implementing a strict type-and –code verification infrastructure called the common type system (CTS). The CTS ensures that all managed code is self-describing. The various Microsoft and Third-party language compilers generate managed code that conforms to the CTS. This means that manages code can consume other managed types and instances, while strictly enforcing type fidelity and type safety.
In addition, the managed environment of the runtime eliminates many common software issues. For example, the runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. This automatic memory management resolves the two most common application errors, memory leaks and invalid memory references.
The runtime also accelerates developer’s productivity. For example, programmers can write applications in their development language of choice, yet take full advantage of the runtime, the class library, and components written in other languages by other developers. Any compiler vendor who chooses to target the runtime can do so. Language compilers that target that .NET Framework make the features of the .NET Framework available to existing code written in that language, greatly easing the migration process for existing applications.
While the runtime is designed for the software’s of the failure, it also supports software of today and yesterday. Interoperability between managed and unmanaged code enables developers to continue to use necessary COM components and DLLs.
The runtime is designed to enhance performance. Although the common language runtime provides many standards runtime services, managed code is never interpreted. A feature called just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it is executing. Meanwhile, the memory manager removes the possibilities of fragmented memory and increases memory locality of reference to further increase performance.
Finally, the runtime can be hosted by high-performance, server-side applications, such as Microsoft SQL Server and Internet Information Services (IIS). This infrastructure enables you to use managed code to write your business logic, while still enjoying the superior performance of the industry’s best enterprise servers that support runtime hosting.

2.4 .NET Framework Class Library
The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. The class library is object oriented, providing types from which your own managed code can derive functionality. This not only makes the .NET Framework types easy to use, but also reduces the time associated with learning new features of the .NET Framework. In addition, third party components can integrate seamlessly with classes in the .NET Framework.
For example, the .NET Framework collection classes implement a set of interfaces that you can use to develop your own collection classes. Your collection classes will blend seamlessly with the classes in the .NET Framework.

As you would expect from an object-oriented class library, the .NET Framework types enables you to accomplish a range of common programming tasks, including tasks such as string management, data collection, database connectivity, and file access.
In addition to these common tasks, the class library includes types that support a variety of specialized development scenarios. For example, you can use the .NET Framework to develop the following types of applications and services:

Console applications.
Windows GUI applications (Windows Forms).
ASP.NET applications.
XML Web services.
Windows services.

For example, the Windows Forms classes are a comprehensive set of reusable types that vastly simplify Windows GUI development. If you write an AP.NET Web Form application, you ca use the Web Forms classes.

3. SOFTWARE DEVELOPMENT PART 2



The following sections describe the main components and features of the .NET Framework in greater detail.

2.5 Client Application Development
Client applications are the closest to a traditional style of application in Windows-based programming. These are the types of applications that display windows or forms on the desktop, enabling a user to perform a task. Client applications include applications such as word processors and spreadsheets, as well as custom business applications such as data-entry tools, reporting tools, and so on. Client applications usually employ windows, menus, buttons, and other GUI elements, and they likely access local resources such as the file system and peripherals such as printers.
Another kind of client application is the tradition ActiveX control (now replaced by the managed Window Forms control) deployed over the Internet as a Web page. This application is much like other client applications: it is executed natively, has access to local resources, and includes graphical elements.
In the past, developers created such applications using C? C++ in conjunction with the Microsoft Foundation Classes (MFC) or with a rapid application development (RAD) environment such as Microsoft visual Basic.
The .NET Framework incorporates aspects of these existing products into a single, consistent development environment drastically simplifies the development of client applications. The Windows Forms classes contained in the .NET Framework are designed to be used for GUI development. You can easily create command windows, buttons, menus, toolbars, and other screen elements with the flexibility necessary to accommodate shifting business needs.
For example, the .NET Framework provides simple properties to adjust visual attributes associated with forms. In some cases underlying operating system does not support changing these attributes directly, and in these cases the .NET Framework automatically recreates the forms. This is one of many ways in which the .NET Framework integrates the developer interface, making coding simpler and more consistent.
Unlike ActiveX controls, Windows Forms controls have semi-trusted access to a user’s computer. This means that binary or natively executing code can access some of the resources on the user’s system (such as GUI elements and limited file access) without being able to access or compromise other resources. Because of code access security, many applications that once needed to be installed on a user’s system cam now are safely deployed through the Web. Your applications can implements the feature of a local application while being deployed like a Webpage.

2.6 Server Application Development
Server-side applications in the managed world are implemented through runtime hosts. Unmanaged applications host the common language runtime. Which allows your custom managed code to control the behaviour of the server. This model provides you with all the features of the common language runtime and class while gaining the performance and scalability of the server.
The following illustration shows a basic network schema with managed code running in different server environments. Servers such as IIS and SQL Server can perform standard operations while your applications logic executes through the managed code.
Server-side managed code into the highly distributed environment of the Internet.
If you have used earlier versions of ASP technology, you will immediately notice the improvements that ASP.NET and Web Forms offers. For example, you can develop Web Forms pages in any language that supports the .NET Framework. In addition, your code no longer needs to share the same file with your HTTP text (although it can continue to do so if you prefer). Web Forms pages execute in native machine language because, like another managed application, they take full advantage of the runtime. In contrast, unmanaged ASP pages are ASP.NET is the hosting environment that enables developers to use the .NET Framework to target Web-based applications. However, ASP.NET is more that just a runtime host: it is a complete architecture for developing Web sites and Internet-distributed objects using managed code. Both Web Forms and XML Web services use IIS and ASP.NET as the publishing mechanism for applications, and both have a collection of supporting in the .NET Framework.
XML Web services, an important evolution in Web based technology, are distributed, server-side application component similar to common Web sites. However, unlike Web-based applications, XML Web services components have no UI and are not targeted for browsers such as Internet Explorer and Netscape Navigator. Instead, XML Web services consists of reusable software components designed to be consumed by other applications, such as traditional client applications, Web-based applications, or even other XML Web services.
As a result, XML Web services technology is rapidly moving application developing and deployment always scripted and interpreted. ASP.Net pages are faster, more functional, and easier to develop than unmanaged ASP pages because they interact with the runtime like any managed application.
The .Net Framework also provides a collection of classes and tools to aid in development and consumption of XML Web services. XML Web services applications. XML Web services are built on standards such as SOAP (a remote procedural-call protocol), XML (an extensible data format), and WSDL (the Web services Description Language). The .NET Framework is built on these standards to promote interoperability with non-Microsoft solutions.

WHAT IS .NET
.NET “is the XML Web services platforms, a way of working that allows you to create software as a service.” It’s a Microsoft vision based on distributed computing, the dream of sharing information over the Internet, no matter what operating system, devices, or programming language you’re using.
According to our favourite software giant, this .NET plan covers five core areas, not all of which have yet been fulfilled:

De
velopment products
Server products (such as Windows 2000/2003 and SQL Server)
Foundation services (such as Passport and Alerts)
Devices (such as the Pocket PC)
Experience (such as MSN and Office .NET)


2.7 Exploring Visual Studio .NET
If you haven’t installed and configured Visual Studio .NET, head off to Appendix I and follow the instructions. When you’re done, it‘s time to go exploring. Ready?
Launch Visual Studio .NET by selecting Start Programs Microsoft Visual Studio .NET Microsoft Visual Studio .NET.
You should be looking at a colourful start page, which replaces the rather bland New or Open pop-up of Visual Basic 6 frame. With its online links down the left-hand side, this page is intended to turn into something of a customizable developer portal.

Click on the New Project button.
This is more the sort of screen you’re used to welcoming you in VB6. It allows you to select a new sort of project to create. However, the options here are most certainly different to those we’d find in the old school.
First off, you can create projects in any of the three or four default languages. Naturally, we’re concerned with only Visual Basic here, but, even so, the available projects look confusing. Let’s explain them now.
You’ve got the Windows Application, which is the equivalent of a standard EXE from the old school. Desktop applications will never die (more about these applications) in Next is the class library. Although COM has actually gone in .NET, this is your rough equivalent to an ActiveX DLL project. Moving on, and a Windows Control Library allows you to build your own controls, a sort of ActiveX control project.
Shortly after that, you have an ASP.NET Web application that mixes all the great Web capabilities of ASP with the Visual Basic ability to drag, droop, and code. It’s a project that allows you to build fully functional; Web sites in seconds.
An ASP.NET Web service is next on the list, a project that allows you to expose your code methods or functions over your network or the Internet. Other applications can then call these chunks of code and process the results. It you’ve ever dealt with sticky-sticky Simple Object Access Protocol (SOAP) in VB6, this is the native .Net implementation.
Moving on, the Web control library allows you to build “controls” to use on Web pages. These are HTML based and have absolutely nothing to do with ActiveX. Next on the list is a console application that allows you to build a DOS-like console program, which was incredibly difficult in VB6 days. Next, the Windows service project allows you to build your own services, which in the old days would require either the purchase of a third-party plug-in or a nightmarish amount of API code.
Evert users, or those that have downloaded “extras” from the visual Studio .NET site, may also find a couple of extra project types in their list. The Smart Device Application, for example, allows you to create programs to run on devices such as the Pocket PC. And the ASP.NET Mobile Web Application project type will enable you to create your own mini Web sites that are customized for less-powerful wireless devices, from mobile phones to microwaves.

You can ignore any remaining project types as they’re empty placeholders.

Let’s begin this part of the book by creating a simple Windows while looking at a couple of development environment changes.

Select the Windows Application icon.
Change the name to “Hello.NET”.
Note the Location folder and click on Ok.
You should now be starting at your new (and rather plain) Hello.Net project. Recognize anything?

In the middle window you should have your form, which is the screen your users will see when they run your final application. To the left, you have the toolbox, which holds controls ready to add that form. (Click View Toolbox if you can’t see it.) Check out the various tabs: you’ll find a whole bundle here, many more than intrinsic few you had with VB6.
These are part of the core .Net Framework, which means that all your users will automatically have them installed. So, if you do use something like the OpenFileDialog control in your application, you won’t need to go bundling an extra DLL to ensure that it works on the client machine. It will just work. Well, hurrah for that! You will find most of yours old favourites here too—with an occasional name change thrown in to warrant the purchase price, of course. The command Button Became Button1, for example. The Caption property of the Label turned into Text property. The Menu Editor turned into the Main Menu control. Still, nothing too serious. Casting your eye over to the bottom right of your screen now, you will find the trusty properties window. No real differences here—some things never change. You will find that your form has a few interesting properties though, such as Opacity.
Moving upward slightly, you will see the solution Explorer, which is exactly the same as our Project Explorer expects that it can host multiple projects as part of your solution (like a Project Group). The extra tabs under the properties and solution Explorer windows allow you to use the help and explore classes in your application.
Let’s move on.
Draw a button out onto your form.
Double –click on the button to open up the code window under a new tab.

The next line, Inherits System.Wndows.Forms.Form, tell VB.NET that this class “inherits” the functionality of a form, the functionality described in the
System.Windows.Forms.Form part of the .NET Framework
The following line has a gray chunk displaying the words “Windows Form Designer generated code”. This is a collapsed mound of code, while you can view in full by clicking the little symbol to its left.
After you’re done that, you’ll probably wish you hadn’t. This is your form in the nude. It includes description of what controls you have on the form, along with their positioning and initial properties. Task, move over, playboy.
After this, we see our actual Button Click subroutine__finally, something you recognize. Or is it? First off, you have a couple of extra arguments here providing extra (and often useless) event information. Also, in VB6, if changed the name of the Button1_Click method, it would no longer run the code behind that method when you clicked on Button1. In VB.NET, this isn’t the case: scroll to the end of the first line of Button1_Click here. See the Handles Keyword? This is what determines which methods run when an event occurs.
Anyway, it’s about time we added some code. And what simpler way to start than displaying the clicked Hello World in a message box. Not defined, right? Well, guess what? They changed that too. Type new .NET way of displaying a message box is using the “shared” Show functioning of the Message Box class.

8. Add the following code to respond to the click event of Button1: MessageBox.Show (“Hello World!”)

Actually, I’m lying. You can still use Message Box and all its related result constants, but Message Box is the now and improved way of displaying messages within Windows forms like this.

Let’s run our application now.

Press the F5 key or select Start from the Debug menu.

You’ll see a bunch of information fly past an “output” window as your code is compiled. Ignore it; it just means that your final EXE file is being slapped together.

Within a few seconds, your program should pop up. Yes, it has slightly different feel, and that Form icon definitely has to go. But, on the whole, it’s not all that alien, and a click of your Button control should produce the results you expect. Right? Well, that’s our first glimpse of the Visual Studio .NET interface. A speedy exploration, yes, but it should’ve answered a few of the initial questions every VB6 developer has. So, let’s recap; what differences have we seen so far? A whole bundle of new and exciting project types are now available.
We have a host of fresh intrinsic controls to play with. Most development files have a .VB extension. Form .VB files are really classes and include code that describes how the form is laid out. When your code compiles, a host of useless information spurts into the Output window. Oh, and I forgot to mention: you have pretty pastel-coloured menus, too. Now you know where all those research and development dollars went.

.

4. MODULES AND APPLICATION

This project is designed to handle the transactions on images where the Watermarking tasks are performed. The project split into several modules where each module performs or deal with a particular type of transactions.

The modules of the Project are:
· Login & Security
· Image detection
· Image conversion
· Text embossing on images using watermarking
· Image comparison using Hash function.


4.1 Login & Security
The aim of this module is to authenticate the user and provide only restricted access. The password is stored in encrypted form within the database. This is performed using ASCII conversion formula.

4.2 Image Type Detection
Module determines the format of the image selected. Only indexed image file format can be used to perform watermarking. Hence the detection and appropriate exception handling is provided by this module. Image codec is used to determine the image format before using it.

4.3 Image Conversion
The end user may select any image at runtime and hence the format of the image may result in an error during text embossing. The module allows conversion of the source image from one format to the indexed pixel format before it can be used to embed.

4.4 Text Embossing & Watermarking
The text is accepted at runtime. The required % of opacity, location of the text on the image and the colour and font are dynamically specified. The appropriate dialog components are used to specify the font and colours. The code calculates the length of the text in graphics co-ordinates. Using the Graphics class the image can be loaded into memory and reference using an object. This enables in determining the graphics context of the image. As the data to be displayed or associated on the image is text directly putting on the text will create a separate layer as in PowerPoint and although it appears that the text is on the image they are distinguish two layers. To avoid this problem a drawing brush is to be dynamically created that can logically (code) draw the text on the image. The methods of applying the string are applied to embed the data on the image. The end-user can now save the file in its new format as required with the text and image in a single layer or one component.

4.5 Image comparison using Hash function
The easiest way to compare at the first point is to compare the size of the source and target images. If they match the image data (pixels) should be converted to bytes for comparison. Hence a dynamic array should be created as images vary in size. Two arrays one each to hold the first and second image needs to be created. Use the SHA256Managed class to compute the hash for each of the images. The hash is used as a unique value of fixed size representing a large amount of data. Hashes of two sets of data should match if and only if the corresponding data also matches. Small changes to the data result in large unpredictable changes in the hash. The hash size for the SHA256 algorithm is 256 bits. This is an abstract class. The only implementation of this class is SHA256Managed. The System.Security.Cryptography namespace provides cryptographic services, including secure encoding and decoding of data, as well as many other operations, such as hashing, random number generation, and message authentication.

5. SYSTEM DESIGN - UML DIAGRAM



4.1 Login

The aim of this module is to authenticate the user and provide only restricted access. The password is stored in encrypted form within the database. This is performed using ASCII conversion formula.
4.2 Image Type Detection
Module determines the format of the image selected. Only indexed image file format can be used to perform watermarking. Hence the detection and appropriate exception handling is provided by this module. Image codec is used to determine the image format before using it.

4.3 Image Conversion
The end user may select any image at runtime and hence the format of the image may result in an error during text embossing. The module allows conversion of the source image from one format to the indexed pixel format before it can be used to embed.

4.4 Text Embossing & Watermarking
The text is accepted at runtime. The required % of opacity, location of the text on the image and the colour and font are dynamically specified. The appropriate dialog components are used to specify the font and colours. The code calculates the length of the text in graphics co-ordinates. Using the Graphics class the image can be loaded into memory and reference using an object. This enables in determining the graphics context of the image. As the data to be displayed or associated on the image is text directly putting on the text will create a separate layer as in PowerPoint and although it appears that the text is on the image they are distinguish two layers. To avoid this problem a drawing brush is to be dynamically created that can logically (code) draw the text on the image. The methods of applying the string are applied to embed the data on the image. The end-user can now save the file in its new format as required with the text and image in a single layer or one component.

4.5 Image comparison using Hash function
The easiest way to compare at the first point is to compare the size of the source and target images. If they match the image data (pixels) should be converted to bytes for comparison. Hence a dynamic array should be created as images vary in size. Two arrays one each to hold the first and second image needs to be created. Use the SHA256Managed class to compute the hash for each of the images. The hash is used as a unique value of fixed size representing a large amount of data. Hashes of two sets of data should match if and only if the corresponding data also matches. Small changes to the data result in large unpredictable changes in the hash. The hash size for the SHA256 algorithm is 256 bits. This is an abstract class. The only implementation of this class is SHA256Managed. The System.Security.Cryptography namespace provides cryptographic services, including secure encoding and decoding of data, as well as many other operations, such as hashing, random number generation, and message authentication.

6. FEASIBILITY STUDY

Fig: 6.1 the object-oriented development process using OMT.Feasibility study is conducted once the problem is clearly understood. It is a high level capsule version of the entire System Analysis and Design process. The main objective is to how to solve a problem quickly, at a minimum expense and to check if the problem is worth solving. This system has best tested for feasibility in the following points:
· Operational Feasibility
· Technical Feasibility
· Economical Feasibility


6.1. Operational Feasibility:
Proposed projects are beneficial only if they can be turned into information systems that will meet the requirements. As current business methods are not acceptable to the users in terms if speed, timely and accurate results, users welcomed a change that will bring about a more operational and useful system. With rarely involvement it reduced the chances of resistance to the system and changes in general and increased the likelihood of the project successfully.

6.2. Technical Feasibility:
It centres on existing computer system and to what extent it can support the proposed system. The system can be expanded as the need arises. With the obtained technology there is guaranteed of accuracy, reliability, ease of access. Thus, it is technically feasible to design develop the proposed system.

6.3. Economical Feasibility:
Economic feasibility is the most frequently used method for evaluating the effectiveness of the proposed system. During study costs are considered like costs of hardware, minimum configuration, system capability of H/W, etc., the proposed system minimizes the time effort of the data collection, answering queries and generating reports which results in significant saving. Thus, the proposed system is economically feasible.

Phases of Object-Oriented Development Process

Analysis
Understand and model the application and its domain.

System Design
Determine the overall system architecture in terms of subsystem, concurrent tasks and data storage.

Object Design
Refine then optimize the analysis model, from application to computer concepts.

Coding
Implement the object classes in target programming language.

Testing
Incremental – at any stage system comprises tested and untested object classes. Testing is based on the scenarios developed as part of dynamic modelling process.

7. TESTING PROJECT

Purpose
The purpose testing is to assess product quality. It helps to strengthen and stabilize the architecture early in the development cycle. We can verify through testing, the various interactions, integration of components and the requirements, which were implemented. It provides timely feedback to resolve quality issues, in a timely and cost effective manner.

The test workflow involves the following:

1. Verifying the interactions of components.
2. Verifying the proper integration of components.
3. Verifying that all requirements have been implemented correctly.
4. Identifying and ensuring that all discovered defects are addressed before the software is deployed.


Testing Strategies:
Test cases are devised with the purpose of finding errors. A test case is a set of data that the system will process as normal input. For this system, the test data is devised to check if the adjustments are done correctly. The other test cases devised is to check the situation in which no data is available for adjustment for a specific condition.
System testing 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 ensure the user about the 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 mind .the flow of testing is as follows:

Code testing --------> Unit testing--------> System testing

Code Testing:
Specification testing is done to check if the program does what it should do and how it should behave under various condition or combination 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 the testing syntax errors are corrected .To ensure that the code is perfect we performed unit testing and system testing.

Unit Testing:
The first level of testing is called unit testing. Here different modules are tested against the specification produced during the design of the modules.
Unit testing comprises the 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 great detail. Unit testing focuses first on the modules to locate errors. There errors are verified and corrected so that unit perfectly fits to the project.

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

Integration 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 was prepared to check the control flow of all the modules and to exhaust all the possible inputs to the program. Situation like treating the modules when there is no data entered in the file was 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 the testing all the modules / units on which unit testing is performed are integrated together and tested altogether.

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

Black Box Testing
The functionality of the application has been tested in various modules of the application. The following are Black Box Tested.

White Box Testing
Every module in the applications has been tested to verify that each and every line of safety either part of execute at least once.
Providing data that were null did this, invalid format inconsistent length as well as data types.

8. SCREEN SHOTS - LOGIN , ADMIN WINDOW AND INDEX/HELP WINDOW

User AuthenticationThe first page which we will be seeing is the login page, where in the user has to enter his username and password. And even for that the user given limited chances.
In login page we buttons named sign-In cancel and Help. And beside that we have a option for changing the password. And one more important thing is that the password should be atleast 5 characters. After entering the correct information the system will validate and then allows the user to use the software.

The first page which we will be seeing is the login page, where in the user has to enter his username and password. And even for that the user given limited chances.
In login page we buttons named sign-In cancel and Help. And beside that we have a option for changing the password. And one more important thing is that the password should be atleast 5 characters. After entering the correct information the system will validate and then allows the user to use the software.


Index window
The above mentioned screen is the user index window where in the user can view the complete description about the task that will be performed when pressed on a particular button. And for more we can even add the expected output. The screen is designed using .net.

Help window
The above mentioned screen is the user index/help window where in the user can view the complete description about the task that will be performed when pressed on a particular button. It also provides about the complete input that has to be given or entered into that point of time. And for more we can even add the expected output. The screen is designed using .net.

Admin window
The above mentioned screen is the Administrator window where in the Admin decides which task is to be performed. The Administrator can enter into this page by typing correct username and password in the login page where he is asked.
Here in this page on pressing Images button which is placed on the top he will shown 4 options in the list. Here the options are
1. Convert
2. Watermark
3. Slideshow
4. Compare images
These are the 4 different task that can be performed using this software. and the administrator can just make use of these applications by just clicking on any particular option. When he clicks on convert he will be directed to "Convert application window" . and similarly others.














8.1 SCREEN SHOTS- SLIDE SHOW & COMPARING IMAGES

Image conversion window
The above window is the image conversion window, which will be displayed when the user click on the conversion option. The main task in here is converting the image of one format into another format, mainly the conversion is performed so as to increase or decrease the size of the image. This windows options like the path of the slide and the source and destination filaname, we can even call them as source and target . when source is the input and target is the output. The format into which we can convert the original image are as follows:
1. JPG
2. BMP
3. GIF
4. PNG
5 . TIFF
This is the complete functionality of the Image conversion page.
Watermarking window
Here , the above window will be appeared when the user clicks on the Watermarking option and this is the main application of our project. Here in the first row we need to enter the text which is to be displayed on the image i.e watermarking.
Then we need to enter the values for the positioning of the text on the image.
Then the brightness percentage of the text on the image. then finally we need to select the image on which we would like to do the watermarking, then later the format into which we need to convert and finally where to save much be loaded.

Watermarking window
Here , the above window will be appeared when the user clicks on the Watermarking option and this is the main application of our project. Here in the first row we need to enter the text which is to be displayed on the image i.e watermarking.Then we need to enter the values for the positioning of the text on the image.Then the brightness percentage of the text on the image. then finally we need to select the image on which we would like to do the watermarking, then later the format into which we need to convert and finally where to save much be loaded.



Slide show window
Above is the slide show window where in we display image continuously, it can done by simply selecting the path using the browse. And the show can be done is two different type.
1. one is by selecting manually.
2. second is by selecting automatically.


Comparing source and target Images
Here is the window which will be appeared when we click the comparison option. This application is used when we want to compare two images, we load images in the two slots provided and click on the compare button.


Images are similar when comapared
Here in the above window we have taken image which are identical and on comparing them we get the output as same.

Error while Images comparing
Here in the above window we have taken image which are not identical and on comparing them we get the output as not same. The output will be as Pixel length vary !!! so the images vary.







9. CONCLUSION

The tool can be used in companies willing to associate security information for their pictures. The data in the image can be used for copyright verification.