A container for binary data.
A Blob
represents a chunk of binary information, often obtained through
an HTTPClient or by reading a File.
Blobs are often used to store text or image data.
The Blob
object includes a number of properties and methods specific to image blobs.
Android supports an append method, but otherwise blobs are immutable.
The Titanium.Utils module provides several utility methods for working with blobs, including methods for converting between blobs and Base64-encoded strings, and methods for generating SHA-1 and SHA-256 hashes and MD5 digests from blob data.
The Buffer object can also contain binary data, and is more easily mutable. Extracting blob data to a buffer is somewhat roundabout:
var blobStream = Ti.Stream.createStream({ source: myBlob, mode: Ti.Stream.MODE_READ });
var newBuffer = Ti.createBuffer({ length: myBlob.length });
var bytes = blobStream.read(newBuffer);
Creating a blob from a buffer is much easier:
var newBlob = myBuffer.toBlob();
In both cases, the conversion involves copying the data from one object to another, so you should be conscious of the amount of the data being copied.
The name of the API that this proxy corresponds to.
The name of the API that this proxy corresponds to.
The value of this property is the fully qualified name of the API. For example, Button
returns Ti.UI.Button
.
Indicates if the proxy will bubble an event to its parent.
Some proxies (most commonly views) have a relationship to other proxies, often established by the add() method. For example, for a button added to a window, a click event on the button would bubble up to the window. Other common parents are table sections to their rows, table views to their sections, and scrollable views to their views. Set this property to false to disable the bubbling to the proxy's parent.
Default: true
File object represented by this blob, or null
if this blob is not
associated with a file.
File object represented by this blob, or null
if this blob is not
associated with a file.
If this blob represents an image, this is the height of the image in pixels.
If this blob represents an image, this is the height of the image in pixels.
If this blob doesn't represent an image, height
is 0.
The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.
The Window or TabGroup whose Activity lifecycle should be triggered on the proxy.
If this property is set to a Window or TabGroup, then the corresponding Activity lifecycle event callbacks will also be called on the proxy. Proxies that require the activity lifecycle will need this property set to the appropriate containing Window or TabGroup.
Size of the blob in pixels (for image blobs) or bytes (for all other blobs).
Size of the blob in pixels (for image blobs) or bytes (for all other blobs).
If this blob represents an image, this is the total number of pixels in the image. Otherwise it returns the number of bytes in the binary data.
UTF-8 string representation of the data in this blob.
UTF-8 string representation of the data in this blob.
If this blob represents pure binary data, the value will be null
.
If this blob represents an image, this is the width of the image in pixels.
If this blob represents an image, this is the width of the image in pixels.
If this blob doesn't represent an image, height
is 0.
Adds the specified callback as an event listener for the named event.
Name of the event.
Callback function to invoke when the event is fired.
Appends the data from another blob to this blob.
Blob to append to this blob.
Applies the properties to the proxy.
Properties are supplied as a dictionary. Each key-value pair in the object is applied to the proxy such that myproxy[key] = value.
A dictionary of properties to apply.
Fires a synthesized event to any registered listeners.
Name of the event.
A dictionary of keys and values to add to the Titanium.Event object sent to the listeners.
Creates a new blob by compressing the underlying image to the specified quality.
Returns the compressed image as a blob.
If this blob doesn't represent an image, returns null
.
Quality to compress this image to. From 0.0 (lowest quality) to 1.0 (highest quality).
Compressed image as a blob.
Creates a new blob by cropping the underlying image to the specified dimensions.
Returns the cropped image as a blob.
If this blob doesn't represent an image, returns null
.
Image cropping options.
Cropped image as a blob.
Creates a new blob by resizing and scaling the underlying image to the specified dimensions.
Returns the resized image as a blob.
If this blob doesn't represent an image, returns null
.
Width to resize this image to.
Height to resize this image to.
Resized image as a blob.
Returns a thumbnail version of the underlying image, optionally with a border and rounded corners.
Returns the thumbnail image as a blob.
If this blob doesn't represent an image, returns null
.
Size of the thumbnail, in either width or height.
Width of the thumbnail's border.
Radius of the thumbnail's corners.
The image thumbnail in a blob.
Returns a copy of the underlying image with an added alpha channel.
Returns the new image as a blob, or null
if this blob is not an image.
The image with an alpha channel in a blob, or null
if this blob is not an image.
Returns a copy of the underlying image with rounded corners added.
Returns the new image as a blob, or null
if this blob is not an image.
Size of the rounded corners in pixels.
Width of the border in pixels.
Image with a rounded corner in a blob, or null
if this blob is not an image.
Returns a copy of the underlying image with an added transparent border.
Returns the new image as a blob, or null
if this blob is not an image.
Width of the transparent border in pixels.
The image with a transparent border in a blob, or null
if this blob is not an image.
Removes the specified callback as an event listener for the named event.
Multiple listeners can be registered for the same event, so the
callback
parameter is used to determine which listener to remove.
When adding a listener, you must save a reference to the callback function in order to remove the listener later:
var listener = function() { Ti.API.info("Event listener called."); }
window.addEventListener('click', listener);
To remove the listener, pass in a reference to the callback function:
window.removeEventListener('click', listener);
Name of the event.
Callback function to remove. Must be the same function passed to addEventListener
.
Sets the value of the bubbleParent property.
New value for the property.
Sets the value of the lifecycleContainer property.
New value for the property.
Returns a string representation of this blob.