Today s hall of fame or shame candidate is the Domino s Pizza build-your-own-pizza process. You can try it yourself by going to the Domino s website

Size: px
Start display at page:

Download "Today s hall of fame or shame candidate is the Domino s Pizza build-your-own-pizza process. You can try it yourself by going to the Domino s website"

Transcription

1 1

2 Today s hall of fame or shame candidate is the Domino s Pizza build-your-own-pizza process. You can try it yourself by going to the Domino s website and clicking Order to start an order (you ll have to fill in an address to get to the part we care about, the pizza-building UI). Some aspects to think about: - learnability - visibility - user control & freedom - efficiency 2

3 Today s lecture continues our look into the mechanics of implementing user interfaces, by considering output in more detail. One goal for these implementation lectures is not to teach any one particular GUI system or toolkit, but to give a survey of the issues involved in GUI programming and the range of solutions adopted by various systems. Although our examples will generally come from HTML/ CSS/Javascript/jQuery, these lectures should give you a sense for what s common and what s unusual in the toolkit you already know, and what you might expect to find when you pick up another GUI toolkit. 5

4 There are basically three ways to represent the output of a graphical user interface. Objects is the same as the view tree we discussed previously. Parts of the display are represented by view objects arranged in a spatial hierarchy, with automatic redraw propagating down the hierarchy. There have been many names for this idea over the years; the GUI community hasn t managed to settle on a single preferred term. Strokes draws output by making procedure calls to high-level drawing primitives, like drawline, drawrectangle, drawarc, and drawtext. Pixels regards the screen as an array of pixels and deals with the pixels directly. All three output approaches appear in virtually every modern GUI application. The object approach always appears at the very top level, for windows, and often for graphical objects within the windows as well. At some point, we reach the leaves of the view hierarchy, and the leaf views draw themselves with stroke calls. A graphics package then converts those strokes into pixels displayed on the screen. For performance reasons, an object may short-circuit the stroke package and draw pixels on the screen directly. On Windows, for example, video players do this using the DirectX interface to have direct control over a particular screen rectangle. What approach do each of the following representations use? HTML (object); Postscript laser printer (stroke input, pixel output); plotter (stroke input and output); PDF (stroke); LCD panel (pixel). 6

5 Since virtually every GUI uses all three approaches, the design question becomes: at which points in your application do you want to step down into a lower-level kind of output? Here s an example. Suppose you want to build a view that displays a graph of nodes and edges. One way to do it would represent each node and each edge in the graph by a component (as in the tree on the right). Each node in turn might have two components, a circle and a text label. Eventually, you ll get down to the primitive objects available in your GUI toolkit. Most GUI toolkits provide a text label; most don t provide a primitive circle. (One notable exception is SVG, which has component equivalents for all the common drawing primitives.) This would be a pure object approach, at least from your application s point of view stroke output and pixel output would still happen, but inside primitive objects that you took from the library. Alternatively, the top-level window might have no subcomponents. Instead, it would draw the entire graph by a sequence of stroke calls: drawcircle for the node outlines, drawtext for the labels, drawline for the edges. This would be a pure stroke. Finally, your graph view might bypass stroke drawing and set pixels in the window directly. The text labels might be assembled by copying character images to the screen. This pure pixel approach is rarely used nowadays, because it s the most work for the programmer, but it used to be the only way to program graphics. Hybrid approaches for the graph view are certainly possible, in which some parts of the output use one approach, and others use another approach. The graph view might use objects for nodes, but draw the edges itself as strokes. It might draw all the lines itself, but use label objects for the text. 7

6 Layout: Objects remember where they were put, and draw themselves there. They also support automatic layout. With strokes or pixls, you have to figure out (at drawing time) where each piece goes, and put it there. Input: Objects participate in event dispatch and propagation, and the system automatically does hit-testing (determining whether the mouse is over the component when an event occurs) for objects, but not for strokes. If a graph node is an object, then it can receive its own click and drag events. If you stroked the node instead, then you have to write code to determine which node was clicked or dragged. Redraw: An automatic redraw algorithm means that components redraw themselves automatically when they have to. Furthermore, the redraw algorithm is efficient: it only redraws components whose extents intersect the damaged region. The stroke or pixel model would have to do this test by hand. In practice, most stroked objects don t bother, simply redrawing everything whenever some part of the view needs to be redrawn. Drawing order: It s easy for a parent to draw before (underneath) or after (on top of) all of its children. But it s not easy to interleave parent drawing with child drawing. So if you re using a hybrid model, with some parts of your view represented as components and others as strokes, then the components and strokes generally fall in two separate layers, and you can t have any complicated layering relationships between strokes and components. Heavyweight objects: Objects may be big -- even an object with no fields costs about 20 bytes in Java. As we ve seen, the view treeis overloaded not just with drawing functions but also with event dispatch, automatic redraw, and automatic layout, so the properties and state used by those processes further bulks up the class. Views derived from large amounts of data say, a 100,000- node graph generally can t use an object for every individual data item. The flyweight pattern can help, by storing redundant information in the object s context (i.e., its parent) rather than in each component, but few toolkits support flyweight objects. (See Glyphs: Flyweight Objects for User Interfaces by Paul R. Calder and Mark A. Linton. UIST '90.) Device dependence: The stroke approach is largely device independent. In fact, it s useful not just for displaying to screens, but also to printers, which have dramatically different resolution. The pixel approach, on the other hand, is extremely device dependent. A directly-mapped pixel image won t look the same on a screen with a different resolution. 8

7 As we said earlier, almost every GUI program uses all three approaches. At the highest level, a typical program presents itself in a window, which is an object. At the lowest level, the window appears on the screen as a rectangle of pixels. So a series of steps has to occur that translates that window object (and all its descendents in the view tree) into pixels. The step from objects down to strokes is usually called drawing. We ll look at that first. The step from strokes down to pixels is called rasterization (or scan conversion). The specific algorithms that rasterize various shapes are beyond the scope of this course (see Computer Graphics instead). But we ll talk about some of the effects of rasterization, and what you need to know as a UI programmer to control those effects. 9

8 Here s how drawing works in the object approach. Drawing is a top-down process: starting from the root of the view tree, each object draws itself, then draws each of its children recursively. The process is optimized by passing a clipping region to each object, indicating the area of the screen that needs to be drawn. Children that do not intersect the clipping region are simply skipped, not drawn. In the example above, nodes B and C would not need to be drawn. When an object partially intersects the clipping region, it must be drawn but any strokes or pixels it draws when the clipping region is in effect will be masked against the clip region, so that only pixels falling inside the region actually make it onto the screen. For the root, the clipping region might be the entire screen. As drawing descends the tree, however, the clipping region is intersected with each object s bounding box. So the clipping region for an object deep in the tree is the intersection of the bounding boxes of its ancestors. For high performance, the clipping region is normally rectangular, using bounding boxes rather than the graphical object s actual shape. But it doesn t have to be that way. A clipping region can be an arbitrary shape on the screen. This can be very useful for visual effects: e.g., setting a string of text as your clipping region, and then painting an image through it like a stencil. Postscript was the first stroke model to allow this kind of nonrectangular clip region. Now many graphics toolkits support nonrectangular clip regions. For example, on Microsoft Windows and X Windows, you can create nonrectangular windows, which clip their children into a nonrectangular region. 10

9 Here s an example of the redraw algorithm running on the graph window (starting with the clipping region shown on the last slide). 1.First the clip region is intersect with the whole window s bounding box, and the window is told to draw itself within that intersection. The window draws its titlebar and its gray background. The window background effectively erases the previous contents of the window. 2.The window s clip region is now intersected with its first child s bounding box (Node A), and Node A is told to draw itself within that. In this particular example (where nodes are represented by circle and label components), Node A doesn t do any of its own drawing; all the drawing will be handled by its children. 3.Now Node A s circle child is told to draw itself. In this case, the circle has the same bounding box as Node A itself, so it receives the same clip region that Node A did. It draws a white circle. 4.Now Node A s label child is told to draw itself, again using the same clip region because it has the same bounding box. It draws text on top of the circle just drawn. 5.Popping back up the tree, the next child of the window, Edge A-B, is told to draw itself, using the clip region that intersects its own bounding box with the window s clip region. Only part of the edge falls in this clip region, so the edge only draws part of itself. 6.The next child of the window, Node B, doesn t intersect the window s clip region at all, so it isn t told to draw itself. 7.The algorithm continues through the rest of the tree, either drawing children or skipping them depending on whether they intersect the clip region. (Would Edge A-C be drawn? Would Node C be drawn?) Note that the initial clip region passed to the redraw algorithm will be different every time the algorithm is invoked. Clip regions generally come from damage rectangles, which will be explained in a moment. 11

10 When the bounding boxes of two objects overlap, like the circle and label components in the previous example, the redraw algorithm induces an ordering on the objects that makes them appear layered, one on top of the other. For this reason, 2D graphical user interfaces are sometimes called 2½D. They aren t fully 3D, in which objects have x, y, and z coordinates; instead the z dimension is merely an ordering, called z order. Z order is a side-effect of the order that the objects are drawn when the redraw algorithm passes over the tree. Since drawing happens top-down, parents are generally drawn underneath children (although parents get control back after their children finish drawing, so a parent can draw some more on top of all its children if it wants). Older siblings (with lower indexes in their parent s array of children) are generally drawn underneath younger ones. Java Swing is a curious exception to this its redraw algorithm draws the highest-index child first, so the youngest sibling ends up on the bottom of the z order. Z order can be affected by rearranging the tree, e.g. moving children to a different index position within their parent, or promoting them up the tree if necessary. This is often important for operations like drag-and-drop, since we generally want the object being dragged to appear on top of other objects. 12

11 When a graphical object needs to change its appearance, it doesn t repaint itself directly. It can t, because the drawing process has to occur top-down through the view tree: the object s ancestors and older siblings need to have a chance to paint themselves underneath it. (So, in Java, even though a graphical object can call its own paint() method directly, you generally shouldn t do it!) Instead, the object asks the graphics system to repaint it at some time in the future. This request includes a damaged region, which is the part of the screen that needs to be repainted. Often, this is just the entire bounding box of the object; but complex objects might figure out which part of the screen corresponds to the part of the model that changed, so that only that part is damaged. The repaint request is then queued for later. Multiple pending repaint requests from different objects are consolidated into a single damaged region, which is often represented just as a rectangle the bounding box of all the damaged regions requested by individual objects. That means that undamaged screen area is being considered damaged, but there s a tradeoff between the complexity of the damaged region representation and the cost of repainting. Eventually usually after the system has handled all the input events (mouse and keyboard) waiting on the queue -- the repaint request is finally satisfied, by setting the clipping region to the damaged region and redrawing the view tree from the root. 13

12 There s an unfortunate side-effect of the automatic damage/redraw algorithm. If we draw a view tree directly to the screen, then moving an object can make the screen appear to flash objects flickering while they move, and nearby objects flickering as well. When an object moves, it needs to be erased from its original position and drawn in its new position. The erasure is done by redrawing all the objects in the view hierarchy that intersect this damaged region; typically the drawing of the window background is what does the actual erasure. If the drawing is done directly on the screen, this means that all the objects in the damaged region temporarily disappear, before being redrawn. Depending on how screen refreshes are timed with respect to the drawing, and how long it takes to draw a complicated object or multiple layers of the hierarchy, these partial redraws may be briefly visible on the monitor, causing a perceptible flicker. 14

13 Double-buffering solves this flickering problem. An identical copy of the screen contents is kept in a memory buffer. (In practice, this may be only the part of the screen belonging to some subtree of the view hierarchy that cares about double-buffering.) This memory buffer is used as the drawing surface for the automatic damage/redraw algorithm. After drawing is complete, the damaged region is just copied to screen as a block of pixels. Double-buffering reduces flickering for two reasons: first, because the pixel copy is generally faster than redrawing the view hierarchy, so there s less chance that a screen refresh will catch it half-done; and second, because unmoving objects that happen to be caught, as innocent victims, in the damaged region are never erased from the screen, only from the memory buffer. It s a waste for every individual view to double-buffer itself. If any of your ancestors is doublebuffered, then you ll derive the benefit of it. So double-buffering is usually applied to top-level windows. Why is it called double-buffering? Because it used to be implemented by two interchangeable buffers in video memory. While one buffer was showing, you d draw the next frame of animation into the other buffer. Then you d just tell the video hardware to switch which buffer it was showing, a very fast operation that required no copying and was done during the CRT s vertical refresh interval so it produced no flicker at all. 15

14 In our description of the redraw algorithm, we said a graphical object draws itself, meaning that it produces strokes to show itself on the screen. How that is actually done depends on the GUI toolkit you re using. In Java Swing (and many other desktop GUI toolkits, like Win32 and Cocoa), every object has a drawing method. In Swing, this method is paint(). The redraw algorithm operates by recursively calling paint() down the view hierarchy. Objects can override the paint() method to change how they draw themselves. In fact, Swing breaks the paint() method down into several overridable template methods, like paintcomponent() and paintchildren(), to make it easier to affect different parts of the redraw process. More about Swing s painting process can be found in Painting in AWT and Swing by Amy Fowler ( In Adobe Flex, there s no drawing method available to override the redraw algorithm is hidden from the programmer, much like the event loop is hidden by these toolkits. Instead, you make a sequence of stroke calls into the object, and the object records this sequence of calls. Subsequently, whenever the object needs to redraw itself, it just plays back the recorded sequence of stroke calls. This approach is sometimes called retained graphics. A key difference between these approaches is when stroke calls can be made. With the drawing method approach, drawing should only be done while the drawing method is active. Drawing done at a different time (like during an event handler) will not interact correctly with the redraw algorithm; it won t respect z order, and it will be ephemeral, overwritten and destroyed the next time the redraw algorithm touches that object. With the retained graphics approach, however, the stroke calls can be recorded at any time, and the toolkit automatically handles playing them back at the right point in the redraw. The retained graphics approach tends to be less error prone for a programmer; drawing at the wrong time is a common mistake for beginning Swing programmers. A potential downside of the retained graphics approach is performance. The recorded strokes must be stored in memory. Although this recording is not as heavyweight as a view tree (since it doesn t have to handle input or layout, or even necessarily be represented as objects), you probably wouldn t want to do it with millions of stroke calls. So if you had an enormous view (like a map) being displayed inside a scrolling pane (so that only a small part of it was visible on screen), you wouldn t want to stroke the entire map. The drawing method approach gives more control over this; since you have access to the clip region in the drawing method, you can choose not to render strokes that would be clipped. To do the equivalent thing with retained graphics would put more burden on the programmer to determine the visible rectangle and rerecord the stroke calls every time this rectangle changed. 16

15 Now let s look at the drawing capabilities provided by the stroke model. Every toolkit s stroke model has some notion of a drawing surface. The screen is only one possible place where drawing might go. Another common drawing surface is a memory buffer, which is an array of pixels just like the screen. Unlike the screen, however, a memory buffer can have arbitrary dimensions. The ability to draw to a memory buffer is essential for doublebuffering. Another target is a printer driver, which forwards the drawing instructions on to a printer. Although most printers have a pixel model internally (when the ink actually hits the paper), the driver often uses a stroke model to communicate with the printer, for compact transmission. Postscript, for example, is a stroke model. Most stroke models also include some kind of a graphics context, an object that bundles up drawing parameters like color, line properties (width, end cap, join style), fill properties (pattern), and font. The stroke model may also provide a current coordinate system, which can be translated, scaled, and rotated around the drawing surface. We ve already discussed the clipping region, which acts like a stencil for the drawing. Finally, a stroke model must provide a set of drawing primitives, function calls that actually produce graphical output. Many systems combine all these responsibilities into a single object. Java s Graphics object is a good example of this approach. In other toolkits, the drawing surface and graphics context are independent objects that are passed along with drawing calls. When state like graphics context, coordinate system, and clipping region are embedded in the drawing surface, the surface must provide some way to save and restore the context. A key reason for this is so that parent views can pass the drawing surface down to a child s draw method without fear that the child will change the graphics context. In Java, for example, the context can be saved by Graphics.create(), which makes a copy of the Graphics object. Notice that this only duplicates the graphics context; it doesn t duplicate the drawing surface, which is still the same. 17

16 As an example of a stroke library, HTML5 has an element called <canvas> that provides a stroke drawing context for Javascript programs. The way to think about a canvas is as a pixel image that you re drawing stroke calls on. The canvas element takes width and height attributes that specify the size of this pixel image. When the canvas is laid out on screen, however, it might be given a different width and height by CSS layout in which case it will be stretched or shrunk appropriately. The canvas element provides a graphics context object that you can interact with from Javascript. (The 2d graphics context is shown here; future canvas implementations may offer 3D rendering contexts.) The interface for this object has all the pieces of a stroke library that we talked about on the previous slide. 18

17 It s beyond the scope of this lecture to talk about algorithms for converting a stroke into pixels. But you should be aware of some important techniques for making strokes look good. One of these techniques is antialiasing, which is a way to make an edge look smoother. Instead of making a binary decision between whether to color a pixel black or white, antialiasing uses a shade of gray whose value varies depending on how much of the pixel is covered by the edge. In practice, the edge is between two arbitrary colors, not just black and white, so antialiasing chooses a point on the gradient between those two colors. The overall effect is a fuzzier but smoother edge. Subpixel rendering takes this a step further. Every pixel on an LCD screen consists of three discrete pixels side-by-side: red, green, and blue. So we can get a horizontal resolution which is three times the nominal pixel resolution of the screen, simply by choosing the colors of the pixels along the edge so that the appropriate subpixels are light or dark. It only works on LCD screens, not CRTs, because CRT pixels are often arranged in triangles, and because CRTs are analog, so the blue in a single pixel usually consists of a bunch of blue phosphor dots interspersed with green and red phosphor dots. You also have to be careful to smooth out the edge to avoid color fringing effects on perfectly vertical edges. And it works best for highcontrast edges, like this edge between black and white. Subpixel rendering is ideal for text rendering, since text is usually small, high-contrast, and benefits the most from a boost in horizontal resolution. Windows XP includes ClearType, an implementation of subpixel rendering for Windows fonts. (For more about subpixel rendering, see Steve Gibson, Sub-Pixel Font Rendering Technology, 19

18 Finally, let s talk in more detail about what a pixel image looks like. Put simply, it s a rectangular array of pixels but pixels themselves are not always so simple. A pixel itself has a depth, so this model is really three dimensional. Depth is often expressed in bits per pixel (bpp). The simplest kind of pixel model has 1 bit per pixel; this is suitable for representing black and white images. It s also used for bitmasks, where the single-bit pixels are interpreted as boolean values (pixel present or pixel missing). Bitmasks are useful for clipping you can think of a bitmask as a stencil. Another kind of pixel representation uses each pixel value as an index into a palette, which is just a list of colors. In the 4-bpp model, for example, each of the 16 possible pixel values represents a different color. This kind of representation, often called Indexed Color, was useful when memory was scarce; you still see it in the GIF file format, but otherwise it isn t used much today. The most common pixel representation is often called true color or direct color ; in this model, each pixel represents a color directly. The color value is usually split up into multiple components: red, green, and blue. (Color components are also called channels or bands; the red channel of an image, for example, is a rectangular array of the red values of its pixels.) A pixel model can be arranged in memory (or a file) in various ways: packed tightly together to save memory, or spread out loosely for faster access; with color components interleaved or separated; and scanned from the top (so that the top-left pixel appears first) or the bottom (the bottom-left pixel appearing first). 20

19 Many pixel models have a fourth channel in addition to red, green, and blue: the pixel s alpha value, which represents its degree of transparency. We ll talk more about alpha in a future lecture. 21

20 The primary operation in the pixel model is copying a block of pixels from one place to another often called bitblt (pronounced bit blit ). This is used for drawing pictures and icons on the screen, for example. It s also used for double-buffering after the offscreen buffer is updated, its contents are transferred to the screen by a bitblt. Bitblt is also used for screen-to-screen transfers. To do fast scrolling, for example, you can bitblt the part of the window that doesn t change upwards or downwards, to save the cost of redrawing it. (For example, look at Swing s JViewport.BLIT_SCROLL_MODE.) It s also used for sophisticated drawing effects. You can use bitblt to combine two images together, or to combine an image with a mask, in order to clip it or composite them together. Bitblt isn t always just a simple array copy operation that replaces destination pixels with source pixels. There are various different rules for combining the destination pixels with the source pixels. These rules are called compositing (alpha compositing, when the images have an alpha channel), and we ll talk about them in a later lecture. 22

21 Here are a few common image file formats. It s important to understand when to use each format. For user interface graphics, like icons, JPG generally should not be used, because it s lossy compression it doesn t reproduce the original image exactly. When every pixel matters, as it does in an icon, you don t want lossy compression. JPG also can t represent transparent pixels, so a JPG image always appears rectangular in your interface. For different reasons, GIF is increasingly unsuitable for interface graphics. GIF isn t lossy you get the same image back from the GIF file that you put into it but its color space is very limited. GIF images use 8-bit color, which means that there can be at most 256 different colors in the image. That s fine for some low-color icons, but not for graphics with gradients or blurs. GIF has limited support for transparency pixels can either be opaque (alpha 1) or transparent (alpha 0), but not translucent (alpha between 0 and 1). So you can t have fuzzy edges in a GIF file, that blend smoothly into the background. GIF files can also represent simple animations. PNG is the best current format for interface graphics. It supports a variety of color depths, and can have a full alpha channel for transparency and translucency. (Unfortunately Internet Explorer 6 doesn t correctly display transparent PNG images, so GIF still rules web graphics.) If you want to take a screenshot, PNG is the best format to store it. 23

22 A final word about debugging the output of a graphical user interface, which can sometimes be tricky. A common problem is that you try to draw something, but it never appears on the screen. Here are some possible reasons why. Wrong place: what s the origin of the coordinate system? What s the scale? Where is the component located in its parent? Wrong size: if a component has zero width and zero height, it will be completely invisible no matter what it tries to draw everything will be clipped. Zero width and zero height are the defaults for all components in Swing you have to use automatic layout or manual setting to make it a more reasonable size. Check whether the component (and its ancestors) have nonzero sizes. Wrong color: is the drawing using the same color as the background? Is it using 100% alpha, so that it s completely transparent? Wrong z-order: is something else drawing on top? 24

23 25

24

Lecture 6: Output. Fall UI Design and Implementation 1

Lecture 6: Output. Fall UI Design and Implementation 1 Lecture 6: Output Fall 2006 6.831 UI Design and Implementation 1 1 UI Hall of Fame or Shame? Fall 2006 6.831 UI Design and Implementation 2 This is Ghostview, a Unix program that displays Postscript files.

More information

Output models Drawing Rasterization Color models

Output models Drawing Rasterization Color models Output models Drawing Rasterization olor models Fall 2004 6.831 UI Design and Implementation 1 Fall 2004 6.831 UI Design and Implementation 2 omponents Graphical objects arranged in a tree with automatic

More information

Lecture 11: Toolkits. Fall UI Design and Implementation 1

Lecture 11: Toolkits. Fall UI Design and Implementation 1 Lecture 11: Toolkits Fall 2003 6.893 UI Design and Implementation 1 UI Hall of Fame or Shame? Power Point Word Fall 2003 6.893 UI Design and Implementation 2 Here s a followup on the Hall of Shame entry

More information

Lecture 11: Output 2. Fall UI Design and Implementation 1

Lecture 11: Output 2. Fall UI Design and Implementation 1 Lecture 11: Output 2 Fall 2006 6.831 UI Design and Implementation 1 1 UI Hall of Fame or Shame? Fall 2006 6.831 UI Design and Implementation 2 Here s our hall of fame example. StatCounter is a web site

More information

Output in Window Systems and Toolkits

Output in Window Systems and Toolkits Output in Window Systems and Toolkits Recap Low-level graphical output models CRTs, LCDs, and other displays Colors (RGB, HSV) Raster operations (BitBlt) Lines, curves, path model Fonts Affine Transforms

More information

Animations involving numbers

Animations involving numbers 136 Chapter 8 Animations involving numbers 8.1 Model and view The examples of Chapter 6 all compute the next picture in the animation from the previous picture. This turns out to be a rather restrictive

More information

9 Using Appearance Attributes, Styles, and Effects

9 Using Appearance Attributes, Styles, and Effects 9 Using Appearance Attributes, Styles, and Effects You can alter the look of an object without changing its structure using appearance attributes fills, strokes, effects, transparency, blending modes,

More information

Fall UI Design and Implementation 1

Fall UI Design and Implementation 1 Fall 2005 6.831 UI Design and Implementation 1 1 Suggested by Daniel Swanton Fall 2005 6.831 UI Design and Implementation 2 2 Suggested by Robert Kwok Fall 2005 6.831 UI Design and Implementation 3 3 Input

More information

CS 160: Lecture 10. Professor John Canny Spring 2004 Feb 25 2/25/2004 1

CS 160: Lecture 10. Professor John Canny Spring 2004 Feb 25 2/25/2004 1 CS 160: Lecture 10 Professor John Canny Spring 2004 Feb 25 2/25/2004 1 Administrivia In-class midterm on Friday * Closed book (no calcs or laptops) * Material up to last Friday Lo-Fi Prototype assignment

More information

Advanced Special Effects

Advanced Special Effects Adobe Illustrator Advanced Special Effects AI exercise preview exercise overview The object is to create a poster with a unified color scheme by compositing artwork drawn in Illustrator with various effects

More information

We will talk about Alt-Tab from the usability perspective. Think about: - Is it learnable? - Is it efficient? - What about errors and safety?

We will talk about Alt-Tab from the usability perspective. Think about: - Is it learnable? - Is it efficient? - What about errors and safety? 1 This lecture s candidate for the Hall of Fame & Shame is the Alt-Tab window switching interface in Microsoft Windows. This interface has been copied by a number of desktop systems, including KDE, Gnome,

More information

Our Hall of Fame or Shame candidate for today is the command ribbon, which was introduced in Microsoft Office The ribbon is a radically

Our Hall of Fame or Shame candidate for today is the command ribbon, which was introduced in Microsoft Office The ribbon is a radically 1 Our Hall of Fame or Shame candidate for today is the command ribbon, which was introduced in Microsoft Office 2007. The ribbon is a radically different user interface for Office, merging the menubar

More information

In this lesson, you ll learn how to:

In this lesson, you ll learn how to: LESSON 5: ADVANCED DRAWING TECHNIQUES OBJECTIVES In this lesson, you ll learn how to: apply gradient fills modify graphics by smoothing, straightening, and optimizing understand the difference between

More information

On the Web sun.com/aboutsun/comm_invest STAROFFICE 8 DRAW

On the Web sun.com/aboutsun/comm_invest STAROFFICE 8 DRAW STAROFFICE 8 DRAW Graphics They say a picture is worth a thousand words. Pictures are often used along with our words for good reason. They help communicate our thoughts. They give extra information that

More information

This quiz is closed book, closed notes. You have 80 minutes to complete it. Your name:

This quiz is closed book, closed notes. You have 80 minutes to complete it. Your name: 6.831 User Interface Design & Implementation Fall 2004 Quiz 1 This quiz is closed book, closed notes. You have 80 minutes to complete it. Your name: 1. (3 points) Which of the following are measurable

More information

ORGANIZING YOUR ARTWORK WITH LAYERS

ORGANIZING YOUR ARTWORK WITH LAYERS 9 ORGANIZING YOUR ARTWORK WITH LAYERS Lesson overview In this lesson, you ll learn how to do the following: Work with the Layers panel. Create, rearrange, and lock layers and sublayers. Move objects between

More information

Smoother Graphics Taking Control of Painting the Screen

Smoother Graphics Taking Control of Painting the Screen It is very likely that by now you ve tried something that made your game run rather slow. Perhaps you tried to use an image with a transparent background, or had a gazillion objects moving on the window

More information

Adobe Flash CS3 Reference Flash CS3 Application Window

Adobe Flash CS3 Reference Flash CS3 Application Window Adobe Flash CS3 Reference Flash CS3 Application Window When you load up Flash CS3 and choose to create a new Flash document, the application window should look something like the screenshot below. Layers

More information

Lecture 9: UI Software Architecture. Fall UI Design and Implementation 1

Lecture 9: UI Software Architecture. Fall UI Design and Implementation 1 Lecture 9: UI Software Architecture Fall 2003 6.893 UI Design and Implementation 1 UI Hall of Fame or Shame? Source: Interface Hall of Shame Fall 2003 6.893 UI Design and Implementation 2 Today s hall

More information

Creative Effects with Illustrator

Creative Effects with Illustrator ADOBE ILLUSTRATOR PREVIEW Creative Effects with Illustrator AI OVERVIEW The object is to create a poster with a unified color scheme by compositing artwork drawn in Illustrator with various effects and

More information

... Output System Layers. Application 2. Application 1. Application 3. Swing. UIKit SWT. Window System. Operating System

... Output System Layers. Application 2. Application 1. Application 3. Swing. UIKit SWT. Window System. Operating System Output: Hardware Output System Layers Application 1 Application 2 Application 3 Swing SWT... UIKit Window System Operating System Hardware (e.g., graphics card) 2 Output Hardware 3 Start with some basics:

More information

How to draw and create shapes

How to draw and create shapes Adobe Flash Professional Guide How to draw and create shapes You can add artwork to your Adobe Flash Professional documents in two ways: You can import images or draw original artwork in Flash by using

More information

Learning to use the drawing tools

Learning to use the drawing tools Create a blank slide This module was developed for Office 2000 and 2001, but although there are cosmetic changes in the appearance of some of the tools, the basic functionality is the same in Powerpoint

More information

HAPPY HOLIDAYS PHOTO BORDER

HAPPY HOLIDAYS PHOTO BORDER HAPPY HOLIDAYS PHOTO BORDER In this Photoshop tutorial, we ll learn how to create a simple and fun Happy Holidays winter photo border! Photoshop ships with some great snowflake shapes that we can use in

More information

Using Microsoft Word. Working With Objects

Using Microsoft Word. Working With Objects Using Microsoft Word Many Word documents will require elements that were created in programs other than Word, such as the picture to the right. Nontext elements in a document are referred to as Objects

More information

9 ADVANCED LAYERING. Lesson overview

9 ADVANCED LAYERING. Lesson overview 9 ADVANCED LAYERING Lesson overview In this lesson, you ll learn how to do the following: Import a layer from another file. Clip a layer. Create and edit an adjustment layer. Use Vanishing Point 3D effects

More information

Graphics Hardware and Display Devices

Graphics Hardware and Display Devices Graphics Hardware and Display Devices CSE328 Lectures Graphics/Visualization Hardware Many graphics/visualization algorithms can be implemented efficiently and inexpensively in hardware Facilitates interactive

More information

Rasterization and Graphics Hardware. Not just about fancy 3D! Rendering/Rasterization. The simplest case: Points. When do we care?

Rasterization and Graphics Hardware. Not just about fancy 3D! Rendering/Rasterization. The simplest case: Points. When do we care? Where does a picture come from? Rasterization and Graphics Hardware CS559 Course Notes Not for Projection November 2007, Mike Gleicher Result: image (raster) Input 2D/3D model of the world Rendering term

More information

Documentation Colibrico Design Studio

Documentation Colibrico Design Studio 1 / 39 Documentation Colibrico Design Studio Table of content About Colibrico Design Studio...3 System requirements...3 Supported languages...3 Installation...3 Trial version...4 License...4 Registration...4

More information

ADOBE PHOTOSHOP Using Masks for Illustration Effects

ADOBE PHOTOSHOP Using Masks for Illustration Effects ADOBE PHOTOSHOP Using Masks for Illustration Effects PS PREVIEW OVERVIEW In this exercise, you ll see a more illustrative use of Photoshop. You ll combine existing photos with digital art created from

More information

Today s Hall of Fame and Shame is a comparison of two generations of Google Advanced Search. This is the old interface.

Today s Hall of Fame and Shame is a comparison of two generations of Google Advanced Search. This is the old interface. 1 Today s Hall of Fame and Shame is a comparison of two generations of Google Advanced Search. This is the old interface. 2 And this is the new interface. (If you can t read the image, go to http://www.google.com/advanced_search.)

More information

Photoshop tutorial: Final Product in Photoshop:

Photoshop tutorial: Final Product in Photoshop: Disclaimer: There are many, many ways to approach web design. This tutorial is neither the most cutting-edge nor most efficient. Instead, this tutorial is set-up to show you as many functions in Photoshop

More information

Flash offers a way to simplify your work, using symbols. A symbol can be

Flash offers a way to simplify your work, using symbols. A symbol can be Chapter 7 Heavy Symbolism In This Chapter Exploring types of symbols Making symbols Creating instances Flash offers a way to simplify your work, using symbols. A symbol can be any object or combination

More information

Fall UI Design and Implementation 1

Fall UI Design and Implementation 1 Fall 2004 6.831 UI Design and Implementation 1 1 Source: UI Hall of Shame Fall 2004 6.831 UI Design and Implementation 2 Our Hall of Shame candidate for the day is this interface for choose how a list

More information

How to...create a Video VBOX Gauge in Inkscape. So you want to create your own gauge? How about a transparent background for those text elements?

How to...create a Video VBOX Gauge in Inkscape. So you want to create your own gauge? How about a transparent background for those text elements? BASIC GAUGE CREATION The Video VBox setup software is capable of using many different image formats for gauge backgrounds, static images, or logos, including Bitmaps, JPEGs, or PNG s. When the software

More information

Chapter 1. Getting to Know Illustrator

Chapter 1. Getting to Know Illustrator Chapter 1 Getting to Know Illustrator Exploring the Illustrator Workspace The arrangement of windows and panels that you see on your monitor is called the workspace. The Illustrator workspace features

More information

+ Inheritance. Sometimes we need to create new more specialized types that are similar to types we have already created.

+ Inheritance. Sometimes we need to create new more specialized types that are similar to types we have already created. + Inheritance + Inheritance Classes that we design in Java can be used to model some concept in our program. For example: Pokemon a = new Pokemon(); Pokemon b = new Pokemon() Sometimes we need to create

More information

Creative Effects with Illustrator

Creative Effects with Illustrator ADOBE ILLUSTRATOR Creative Effects with Illustrator PREVIEW OVERVIEW The object is to create a poster with a unified color scheme by compositing artwork drawn in Illustrator with various effects and photographs.

More information

Tutorial: Overview. CHAPTER 2 Tutorial

Tutorial: Overview. CHAPTER 2 Tutorial 2 CHAPTER 2 Tutorial... Tutorial: Overview This tutorial steps you through the creation of a simple banner for a web page and shows how to actually put the movie on the web. The tutorial explains how to

More information

Creating an Animated Navigation Bar in InDesign*

Creating an Animated Navigation Bar in InDesign* Creating an Animated Navigation Bar in InDesign* *for SWF or FLA export only Here s a digital dilemma: You want to provide navigation controls for readers, but you don t want to take up screen real estate

More information

Using Masks for Illustration Effects

Using Masks for Illustration Effects These instructions were written for Photoshop CS4 but things should work the same or similarly in most recent versions Photoshop. 1. To download the files you ll use in this exercise please visit: http:///goodies.html

More information

CS 4300 Computer Graphics. Prof. Harriet Fell Fall 2012 Lecture 5 September 13, 2012

CS 4300 Computer Graphics. Prof. Harriet Fell Fall 2012 Lecture 5 September 13, 2012 CS 4300 Computer Graphics Prof. Harriet Fell Fall 2012 Lecture 5 September 13, 2012 1 Today s Topics Vectors review Shirley et al. 2.4 Rasters Shirley et al. 3.0-3.2.1 Rasterizing Lines Shirley et al.

More information

2. If a window pops up that asks if you want to customize your color settings, click No.

2. If a window pops up that asks if you want to customize your color settings, click No. Practice Activity: Adobe Photoshop 7.0 ATTENTION! Before doing this practice activity you must have all of the following materials saved to your USB: runningshoe.gif basketballshoe.gif soccershoe.gif baseballshoe.gif

More information

Adobe photoshop Using Masks for Illustration Effects

Adobe photoshop Using Masks for Illustration Effects Adobe photoshop Using Masks for Illustration Effects PS Preview Overview In this exercise you ll see a more illustrative use of Photoshop. You ll combine existing photos with digital art created from scratch

More information

Graphic Design & Digital Photography. Photoshop Basics: Working With Selection.

Graphic Design & Digital Photography. Photoshop Basics: Working With Selection. 1 Graphic Design & Digital Photography Photoshop Basics: Working With Selection. What You ll Learn: Make specific areas of an image active using selection tools, reposition a selection marquee, move and

More information

(Refer Slide Time 03:00)

(Refer Slide Time 03:00) Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture #30 Visible Surface Detection (Contd ) We continue the discussion on Visible

More information

INDESIGN AND PHOTOSHOP

INDESIGN AND PHOTOSHOP NEIL MALEK, ACI With just a few basic tools, anyone can professionally polish photos in Photoshop and arrange them into a layout in InDesign. The incredible power and diverse tools can be intimidating,

More information

Contents. Introducing Clicker Paint 5. Getting Started 7. Using The Tools 10. Using Sticky Points 15. Free resources at LearningGrids.

Contents. Introducing Clicker Paint 5. Getting Started 7. Using The Tools 10. Using Sticky Points 15. Free resources at LearningGrids. ClickerPaintManualUS.indd 2-3 13/02/2007 13:20:28 Clicker Paint User Guide Contents Introducing Clicker Paint 5 Free resources at LearningGrids.com, 6 Installing Clicker Paint, 6 Getting Started 7 How

More information

Download Free Pictures & Wallpaper from the Internet

Download Free Pictures & Wallpaper from the Internet Download Free Pictures & Wallpaper from the Internet D 600 / 1 Millions of Free Graphics and Images at Your Fingertips! Discover How To Get Your Hands on Them Almost any type of document you create can

More information

Computer Graphics Lecture 2

Computer Graphics Lecture 2 1 / 16 Computer Graphics Lecture 2 Dr. Marc Eduard Frîncu West University of Timisoara Feb 28th 2012 2 / 16 Outline 1 Graphics System Graphics Devices Frame Buffer 2 Rendering pipeline 3 Logical Devices

More information

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 43 Dynamic Binding (Polymorphism): Part III Welcome to Module

More information

You can also search online templates which can be picked based on background themes or based on content needs. Page eleven will explain more.

You can also search online templates which can be picked based on background themes or based on content needs. Page eleven will explain more. Microsoft PowerPoint 2016 Part 1: The Basics Opening PowerPoint Double click on the PowerPoint icon on the desktop. When you first open PowerPoint you will see a list of new presentation themes. You can

More information

Strategic Series-7001 Introduction to Custom Screens Version 9.0

Strategic Series-7001 Introduction to Custom Screens Version 9.0 Strategic Series-7001 Introduction to Custom Screens Version 9.0 Information in this document is subject to change without notice and does not represent a commitment on the part of Technical Difference,

More information

Introduction To Inkscape Creating Custom Graphics For Websites, Displays & Lessons

Introduction To Inkscape Creating Custom Graphics For Websites, Displays & Lessons Introduction To Inkscape Creating Custom Graphics For Websites, Displays & Lessons The Inkscape Program Inkscape is a free, but very powerful vector graphics program. Available for all computer formats

More information

PowerPoint Basics: Create a Photo Slide Show

PowerPoint Basics: Create a Photo Slide Show PowerPoint Basics: Create a Photo Slide Show P 570 / 1 Here s an Enjoyable Way to Learn How to Use Microsoft PowerPoint Microsoft PowerPoint is a program included with all versions of Microsoft Office.

More information

CS488. Visible-Surface Determination. Luc RENAMBOT

CS488. Visible-Surface Determination. Luc RENAMBOT CS488 Visible-Surface Determination Luc RENAMBOT 1 Visible-Surface Determination So far in the class we have dealt mostly with simple wireframe drawings of the models The main reason for this is so that

More information

1.6 Graphics Packages

1.6 Graphics Packages 1.6 Graphics Packages Graphics Graphics refers to any computer device or program that makes a computer capable of displaying and manipulating pictures. The term also refers to the images themselves. A

More information

Touring the Mac S e s s i o n 4 : S A V E, P R I N T, C L O S E & Q U I T

Touring the Mac S e s s i o n 4 : S A V E, P R I N T, C L O S E & Q U I T Touring the Mac S e s s i o n 4 : S A V E, P R I N T, C L O S E & Q U I T Touring_the_Mac_Session-4_Feb-22-2011 1 To store your document for later retrieval, you must save an electronic file in your computer.

More information

Shadows in the graphics pipeline

Shadows in the graphics pipeline Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects

More information

SlickEdit Gadgets. SlickEdit Gadgets

SlickEdit Gadgets. SlickEdit Gadgets SlickEdit Gadgets As a programmer, one of the best feelings in the world is writing something that makes you want to call your programming buddies over and say, This is cool! Check this out. Sometimes

More information

Part 1: Basics. Page Sorter:

Part 1: Basics. Page Sorter: Part 1: Basics Page Sorter: The Page Sorter displays all the pages in an open file as thumbnails and automatically updates as you add content. The page sorter can do the following. Display Pages Create

More information

Buffers, Textures, Compositing, and Blending. Overview. Buffers. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E.

Buffers, Textures, Compositing, and Blending. Overview. Buffers. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E. INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Buffers, Textures, Compositing, and Blending David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E. Angel Compositing,

More information

(Refer Slide Time: 02.06)

(Refer Slide Time: 02.06) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 27 Depth First Search (DFS) Today we are going to be talking

More information

12 APPLYING EFFECTS. Lesson overview

12 APPLYING EFFECTS. Lesson overview 12 APPLYING EFFECTS Lesson overview In this lesson, you ll learn how to do the following: Use various effects like Pathfinder, Distort & Transform, Offset Path, and Drop Shadow effects. Use Warp effects

More information

Adobe illustrator Introduction

Adobe illustrator Introduction Adobe illustrator Introduction This document was prepared by Luke Easterbrook 2013 1 Summary This document is an introduction to using adobe illustrator for scientific illustration. The document is a filleable

More information

SNOWFLAKES PHOTO BORDER - PHOTOSHOP CS6 / CC

SNOWFLAKES PHOTO BORDER - PHOTOSHOP CS6 / CC Photo Effects: Snowflakes Photo Border (Photoshop CS6 / CC) SNOWFLAKES PHOTO BORDER - PHOTOSHOP CS6 / CC In this Photoshop tutorial, we ll learn how to create a simple and fun snowflakes photo border,

More information

Math Dr. Miller - Constructing in Sketchpad (tm) - Due via by Friday, Mar. 18, 2016

Math Dr. Miller - Constructing in Sketchpad (tm) - Due via  by Friday, Mar. 18, 2016 Math 304 - Dr. Miller - Constructing in Sketchpad (tm) - Due via email by Friday, Mar. 18, 2016 As with our second GSP activity for this course, you will email the assignment at the end of this tutorial

More information

DESIGNING A WEBSITE LAYOUT IN PHOTOSHOP CS4. Step 1

DESIGNING A WEBSITE LAYOUT IN PHOTOSHOP CS4. Step 1 DESIGNING A WEBSITE LAYOUT IN PHOTOSHOP CS4 Step 1 We ll be using the 960s Grid System (download here) to keep everything aligned. Once you have it, open the included Photoshop document called: 960_grid_24_col.psd.

More information

Note: Photoshop tutorial is spread over two pages. Click on 2 (top or bottom) to go to the second page.

Note: Photoshop tutorial is spread over two pages. Click on 2 (top or bottom) to go to the second page. Introduction During the course of this Photoshop tutorial we're going through 9 major steps to create a glass ball. The main goal of this tutorial is that you get an idea how to approach this. It's not

More information

UI Software Organization

UI Software Organization UI Software Organization The user interface From previous class: Generally want to think of the UI as only one component of the system Deals with the user Separate from the functional core (AKA, the app

More information

Event Dispatch. Interactor Tree Lightweight vs. Heavyweight Positional Dispatch Focus Dispatch. 2.4 Event Dispatch 1

Event Dispatch. Interactor Tree Lightweight vs. Heavyweight Positional Dispatch Focus Dispatch. 2.4 Event Dispatch 1 Event Dispatch Interactor Tree Lightweight vs. Heavyweight Positional Dispatch Focus Dispatch 2.4 Event Dispatch 1 Event Architecture A pipeline: - Capture and Queue low-level hardware events - Dispatch

More information

Event Dispatch. Interactor Tree Lightweight vs. Heavyweight Positional Dispatch Focus Dispatch. Event Architecture. A pipeline: Event Capture

Event Dispatch. Interactor Tree Lightweight vs. Heavyweight Positional Dispatch Focus Dispatch. Event Architecture. A pipeline: Event Capture Event Dispatch Interactor Tree Lightweight vs. Heavyweight Positional Dispatch Focus Dispatch 2.4 Event Dispatch 1 Event Architecture A pipeline: - Capture and Queue low-level hardware events - Dispatch

More information

Adobe Illustrator. Quick Start Guide

Adobe Illustrator. Quick Start Guide Adobe Illustrator Quick Start Guide 1 In this guide we will cover the basics of setting up an Illustrator file for use with the laser cutter in the InnovationStudio. We will also cover the creation of

More information

This is the vector graphics "drawing" technology with its technical and creative beauty. SVG Inkscape vectors

This is the vector graphics drawing technology with its technical and creative beauty. SVG Inkscape vectors 1 SVG This is the vector graphics "drawing" technology with its technical and creative beauty SVG Inkscape vectors SVG 2 SVG = Scalable Vector Graphics is an integrated standard for drawing Along with

More information

Programming Project 1

Programming Project 1 Programming Project 1 Handout 6 CSCI 134: Fall, 2016 Guidelines A programming project is a laboratory that you complete on your own, without the help of others. It is a form of take-home exam. You may

More information

Creating Digital Illustrations for Your Research Workshop III Basic Illustration Demo

Creating Digital Illustrations for Your Research Workshop III Basic Illustration Demo Creating Digital Illustrations for Your Research Workshop III Basic Illustration Demo Final Figure Size exclusion chromatography (SEC) is used primarily for the analysis of large molecules such as proteins

More information

Computer Graphics. Chapter 1 (Related to Introduction to Computer Graphics Using Java 2D and 3D)

Computer Graphics. Chapter 1 (Related to Introduction to Computer Graphics Using Java 2D and 3D) Computer Graphics Chapter 1 (Related to Introduction to Computer Graphics Using Java 2D and 3D) Introduction Applications of Computer Graphics: 1) Display of Information 2) Design 3) Simulation 4) User

More information

Creating a Title in Photoshop

Creating a Title in Photoshop Creating Titles in Photoshop Even if your editing package includes a great titler, there might still be times when you want to craft titles in a paint program or image editor. For example, there might

More information

CS 248 Assignment 2 Polygon Scan Converter. CS248 Presented by Abe Davis Stanford University October 17, 2008

CS 248 Assignment 2 Polygon Scan Converter. CS248 Presented by Abe Davis Stanford University October 17, 2008 CS 248 Assignment 2 Polygon Scan Converter CS248 Presented by Abe Davis Stanford University October 17, 2008 Announcements First thing: read README.animgui. It should tell you everything you need to know

More information

1: Introduction to Object (1)

1: Introduction to Object (1) 1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface

More information

PowerPoint for Art History Presentations

PowerPoint for Art History Presentations PowerPoint for Art History Presentations For PC computers running Microsoft Office 2007+ Adapted by The University of California, Berkeley from the Institute of Fine Arts document by Elizabeth S. Funk

More information

ILLUSTRATOR TUTORIAL-1 workshop handout

ILLUSTRATOR TUTORIAL-1 workshop handout Why is Illustrator a powerful tool? ILLUSTRATOR TUTORIAL-1 workshop handout Computer graphics fall into two main categories, bitmap graphics and vector graphics. Adobe Illustrator is a vector based software

More information

Create an Adorable Hedgehog with Basic Tools in Inkscape Aaron Nieze on Sep 23rd 2013 with 5 Comments

Create an Adorable Hedgehog with Basic Tools in Inkscape Aaron Nieze on Sep 23rd 2013 with 5 Comments Create an Adorable Hedgehog with Basic Tools in Inkscape Aaron Nieze on Sep 23rd 2013 with 5 Comments Tutorial Details Software: Inkscape Difficulty: Beginner Completion Time: 2 hours View post on Tuts+

More information

Frequently Asked Questions about Text and Graphics

Frequently Asked Questions about Text and Graphics 1 Frequently Asked Questions about Text and Graphics 1. What is a font? A font is a set of printable or displayable text characters that are in a specific style and size. The type design for a set of fonts

More information

View Frustum Culling with Octree

View Frustum Culling with Octree View Frustum Culling with Octree Raka Mahesa 13508074 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia if18074@itb.ac.id

More information

The American University in Cairo. Academic Computing Services. Word prepared by. Soumaia Ahmed Al Ayyat

The American University in Cairo. Academic Computing Services. Word prepared by. Soumaia Ahmed Al Ayyat The American University in Cairo Academic Computing Services Word 2000 prepared by Soumaia Ahmed Al Ayyat Spring 2001 Table of Contents: Opening the Word Program Creating, Opening, and Saving Documents

More information

POWERPOINT BASICS: MICROSOFT OFFICE 2010

POWERPOINT BASICS: MICROSOFT OFFICE 2010 POWERPOINT BASICS: MICROSOFT OFFICE 2010 GETTING STARTED PAGE 02 Prerequisites What You Will Learn USING MICROSOFT POWERPOINT PAGE 03 Microsoft PowerPoint Components SIMPLE TASKS IN MICROSOFT POWERPOINT

More information

Adding Objects Creating Shapes Adding. Text Printing and Exporting Getting Started Creating a. Creating Shapes Adding Text Printing and Exporting

Adding Objects Creating Shapes Adding. Text Printing and Exporting Getting Started Creating a. Creating Shapes Adding Text Printing and Exporting Getting Started Creating a Workspace Pages, Masters and Guides Adding Objects Creating Shapes Adding Text Printing and Exporting Getting Started Creating a Workspace Pages, Masters and Guides Adding Objects

More information

ENGL 323: Writing for New Media Repurposing Content for the Web Part Two

ENGL 323: Writing for New Media Repurposing Content for the Web Part Two ENGL 323: Writing for New Media Repurposing Content for the Web Part Two Dr. Michael Little michaellittle@kings.edu Hafey-Marian 418 x5917 Using Color to Establish Visual Hierarchies Color is useful in

More information

SketchUp Tool Basics

SketchUp Tool Basics SketchUp Tool Basics Open SketchUp Click the Start Button Click All Programs Open SketchUp Scroll Down to the SketchUp 2013 folder Click on the folder to open. Click on SketchUp. Set Up SketchUp (look

More information

4) Finish the spline here. To complete the spline, double click the last point or select the spline tool again.

4) Finish the spline here. To complete the spline, double click the last point or select the spline tool again. 1) Select the line tool 3) Move the cursor along the X direction (be careful to stay on the X axis alignment so that the line is perpendicular) and click for the second point of the line. Type 0.5 for

More information

Photoshop Basics A quick introduction to the basic tools in Photoshop

Photoshop Basics A quick introduction to the basic tools in Photoshop Photoshop Basics A quick introduction to the basic tools in Photoshop Photoshop logo courtesy Adobe Systems Inc. By Dr. Anthony R. Curtis Mass Communication Department University of North Carolina at Pembroke

More information

How to Create a Simple Animation Using MAYA

How to Create a Simple Animation Using MAYA How to Create a Simple Animation Using MAYA Jennifer Soltz July 29, 2011 0 Table of Contents Introduction Safety Information. 2. 3 What you need Materials Overview Diagram. 4. 4 Instructions Setup Modeling

More information

Anima-LP. Version 2.1alpha. User's Manual. August 10, 1992

Anima-LP. Version 2.1alpha. User's Manual. August 10, 1992 Anima-LP Version 2.1alpha User's Manual August 10, 1992 Christopher V. Jones Faculty of Business Administration Simon Fraser University Burnaby, BC V5A 1S6 CANADA chris_jones@sfu.ca 1992 Christopher V.

More information

How to create interactive documents

How to create interactive documents Adobe InDesign Guide How to create interactive documents You can use Adobe InDesign to create dynamic web content or interactive documents. InDesign supports export to web-ready HTML or interactive PDF.

More information

WORD Creating Objects: Tables, Charts and More

WORD Creating Objects: Tables, Charts and More WORD 2007 Creating Objects: Tables, Charts and More Microsoft Office 2007 TABLE OF CONTENTS TABLES... 1 TABLE LAYOUT... 1 TABLE DESIGN... 2 CHARTS... 4 PICTURES AND DRAWINGS... 8 USING DRAWINGS... 8 Drawing

More information

UI Elements. If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI)

UI Elements. If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI) UI Elements 1 2D Sprites If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI) Change Sprite Mode based on how many images are contained in your texture If you are

More information

Adobe Photoshop Sh S.K. Sublania and Sh. Naresh Chand

Adobe Photoshop Sh S.K. Sublania and Sh. Naresh Chand Adobe Photoshop Sh S.K. Sublania and Sh. Naresh Chand Photoshop is the software for image processing. With this you can manipulate your pictures, either scanned or otherwise inserted to a great extant.

More information

8/19/2018. Web Development & Design Foundations with HTML5. Learning Objectives (1 of 2) Learning Objectives (2 of 2) Horizontal Rule Element

8/19/2018. Web Development & Design Foundations with HTML5. Learning Objectives (1 of 2) Learning Objectives (2 of 2) Horizontal Rule Element Web Development & Design Foundations with HTML5 Ninth Edition Chapter 4 Visual Elements and Graphics Learning Objectives (1 of 2) 4.1 Create and format lines and borders on web pages 4.2 Apply the image

More information

The first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below.

The first thing we ll need is some numbers. I m going to use the set of times and drug concentration levels in a patient s bloodstream given below. Graphing in Excel featuring Excel 2007 1 A spreadsheet can be a powerful tool for analyzing and graphing data, but it works completely differently from the graphing calculator that you re used to. If you

More information