Symbol script to change image

Would it be possbile to have have a symbol script that allows me to select which image out of 5 or 6 should be viewable, and have it in just one field as compared to toggling the visibility of 6 seperate image fields

Managed to figure out how to do this by adding a few functions to the symbols .jsf file. If anyone happens to have the same problem a working version of my symbol and the corresponding .jsf code can be found below.
Sample
http://i.imgur.com/Jy8RZ.png
.jsf file
4
Book%20Title,textChars,Book%20Title,Title;
Book%20Publisher,textChars,Book%20Publisher,Publisher;
Highlight%20Box,visible,Is%20Selected,false;
Visible%20Image,fontsize,Selected%20Image,0;
function shouldIBeVisible(myNumber)
var values = Widget.elem.customData["currentValues"];
if (values[3].value == myNumber )
return true;
return false;
function isSelected(status)
if (status)
return "#ff0066";
return "#dac4a5";
function setDefaultValues()
var values = new Array();
values.push({ name:"Book Title", type:"text", value:"Title" });
values.push({ name:"Book Publisher", type:"text", value:"Publisher" });
values.push({ name:"Is Selected", type:"boolean", value:"false" });
values.push({ name:"Selected Image", type:"number", value:"0" });
Widget.elem.customData["currentValues"] = values;
function applyCurrentValues()
var values = Widget.elem.customData["currentValues"];
Widget.GetObjectByName("Book Title").textChars = values[0].value;
Widget.GetObjectByName("Book Publisher").textChars = values[1].value;
Widget.GetObjectByName("Highlight Box").pathAttributes.brushColor = isSelected(values[2].value);
Widget.GetObjectByName("Image1").visible = shouldIBeVisible(1);
Widget.GetObjectByName("Image2").visible = shouldIBeVisible(2);
Widget.GetObjectByName("Image3").visible = shouldIBeVisible(3);
Widget.GetObjectByName("Image4").visible = shouldIBeVisible(4);
Widget.GetObjectByName("Visible Image").fontsize = values[3].value;
switch (Widget.opCode)
case 1: setDefaultValues();   break;
case 2: applyCurrentValues(); break;

Similar Messages

  • Changing Images at Runtime...it's sending me nuts (I'm a newbie, go easy)

    Hi all,
    I am trying change images at runtime and quite frankly it's driving me nuts. I'm pretty new to Java and don't understand some of the principles but I'm trying. I have this code below, that loads up a few images. I want to be able to change some/all of these images either on a timed even or on a button press, but all the things I've tried don't work. Can someone offer me some help....thanks in advance
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class bc extends JFrame implements ActionListener {
         public static void main(String[] args) {new bc();}
         bc() {
              //setUndecorated(true); // - this removed the titlebar!
                    setTitle("BC...");
              setSize(350,125);
              setResizable(false);
              setLocation(50,50);
              setDefaultCloseOperation(EXIT_ON_CLOSE);
              setBackground(new Color(0,0,0));
              getContentPane().setBackground(new Color(255,255,255));
              JPanel hours = new JPanel();
              hours.setLayout(new GridLayout(4,2));
              hours.add(hour14);
              hours.add(hour24);
              hours.add(hour13);
              hours.add(hour23);
              hours.add(hour12);
              hours.add(hour22);
              hours.add(hour11);
              hours.add(hour21);
              JPanel mins = new JPanel();
              mins.setLayout(new GridLayout(4,2));
              mins.add(min14);
              mins.add(min24);
              mins.add(min13);
              mins.add(min23);
              mins.add(min12);
              mins.add(min22);
              mins.add(min11);
              mins.add(min21);
              JPanel secs = new JPanel();
              secs.setLayout(new GridLayout(4,2));
              secs.add(sec14);
              secs.add(sec24);
              secs.add(sec13);
              secs.add(sec23);
              secs.add(sec12);
              secs.add(sec22);
              secs.add(sec11);
              secs.add(sec21);
              JPanel helptext = new JPanel();
              helptext.setLayout(new GridLayout(4,2));
              helptext.add(new JLabel("8"));
              helptext.add(new JLabel("4"));
              helptext.add(new JLabel("2"));
              helptext.add(new JLabel("1"));
    //add action listenters
              changeImg.addActionListener(this);
              JPanel cp = new JPanel();
              cp.setLayout(new GridLayout(1,6));
              cp.setBackground(new Color(255,255,255));
              cp.add(hours);
              cp.add(mins);
              cp.add(secs);
              cp.add(helptext);
              cp.add(changeImg);
              setContentPane(cp);
              setVisible(true);
         public void actionPerformed(ActionEvent ae) {
              hour11.PaintOff(1);
              //JOptionPane.showMessageDialog(this, "changed");
              repaint();
    JPanel hour11 = new PaintOff(0);
    JPanel hour12 = new PaintOff(0);
    JPanel hour13 = new PaintBlank();
    JPanel hour14 = new PaintBlank();
    JPanel hour21 = new PaintOff(0);
    JPanel hour22 = new PaintOff(0);
    JPanel hour23 = new PaintBlank();
    JPanel hour24 = new PaintBlank();
    JPanel min11 = new PaintOff(0);
    JPanel min12 = new PaintOff(0);
    JPanel min13 = new PaintOff(0);
    JPanel min14 = new PaintOff(0);
    JPanel min21 = new PaintOff(0);
    JPanel min22 = new PaintOff(0);
    JPanel min23 = new PaintOff(0);
    JPanel min24 = new PaintOff(0);
    JPanel sec11 = new PaintOff(0);
    JPanel sec12 = new PaintOff(0);
    JPanel sec13 = new PaintOff(0);
    JPanel sec14 = new PaintOff(0);
    JPanel sec21 = new PaintOff(0);
    JPanel sec22 = new PaintOff(0);
    JPanel sec23 = new PaintOff(0);
    JPanel sec24 = new PaintOff(0);
    JButton changeImg = new JButton("change");
    }///---------This is my PaintOff class ---------------\\\
    import javax.swing.*;
    import java.awt.*;
    import java.awt.Image.*;
    public class PaintOff extends JPanel {
    Toolkit tk = Toolkit.getDefaultToolkit();
    public Image imgOff = tk.getImage("off.jpg");
    public Image imgOn = tk.getImage("on.jpg");
    public Image paintMe = tk.getImage("off.jpg");
         PaintOff(int a) {
              if(a == 1) {
                   vOn();
              } else {
                   vOff();
         public void vOn() {
            paintMe = imgOn;
         //JOptionPane.showMessageDialog(new bc(), "shown");
         public void vOff() {
            paintMe = imgOff;
         public void paintComponent(Graphics g) {
              g.drawImage(paintMe,0,0,this);
    }PaintBlank class is not included here, it's basically just the same as PaintOff but only has one image inside.
    When I try and compile this code, I get
    C:\jdk1.4\bin\bclock>javac bc.java
    bc.java:79: cannot resolve symbol
    symbol : method PaintOff (int)
    location: class javax.swing.JPanel
    hour11.PaintOff(1);
    ^
    1 error
    I don't understand this either, I've tried replacing "PaintOff(1)" with "vOn()" but I get the same error. This is baffling to be, as I thought that the hour11 would have access to all the methods inside the PaintOff class?
    Anyway, thanks for any help you guys give me!
    Cheers
    //Chris.

    Hi!
    Your problem is that you've used a widening conversion to convert from PaintOff to a JPanel. JPanel has no such method, and so the compiler is complaining that it can't find it.
    e.g
    public class NoCompile{
         public static void main(String args[]){
              One one = new Two();
              one.methTwo();
    public class Two extends One{
         public Two(){}
         public void methTwo(){
            System.out.println("Executed 2");
    public class One{
         public One(){}
         public void meth1(){}
    } will give you the same sort of error message. To make the compiler happy, use a cast.
    Now this will compile and gives the right result.
    public class NoCompile{
         public static void main(String args[]){
              One one = new Two();
              ((Two)one).methTwo();
    }So in your case, you want to do
    ((PaintOff)hour11).vOn();
    Does that help?
    :) jen

  • Powershell Script to change the default user Account picture for all users in windows 7 and 8

    Hello,
    Can some sone help me with PS script to change user account pictures of all user account in windows 7 and windows 8 ?
    I will deploy this through MDT TS as Custom TS after OSD.
    Shailendra
    Shailendra Dev

    Hello,
    Can some sone help me with PS script to change user account pictures of all user account in windows 7 and windows 8 ?
    I will deploy this through MDT TS as Custom TS after OSD.
    Shailendra
    Shailendra Dev
    The default user account picture is stored here.
    C:\programdata\Microsoft\User Account Pictures\user.bmp
    It should just be a matter have copying the picture you want to that location and over writing what is there.
    or....
    Computer Configuration\Administrative Templates\Control Panel\User Accounts\Apply the default user logon picture to all users
    You can also configure this by a registry setting;
     [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]
      UseDefaultTile = 1
    The picture that you configure, will not be loaded until the user account will actually be created on the pc. Meaning the first time a >new< user will log on to a pc, they will have no picture shown at all using their login screen (this is default
    behavior). Same will occur if you enable the policy don't display last user name. However, once they log in the picture will be shown in the start menu, and if they lock their pc the image will also be shown

  • Changing images on jsp

    I created a jsp page with a button and a image (ImageComponent). When the button is pressed a picture is retrieved from a database and saved on the CLIENTs harddrive (ex: "C:\\img.jpg"). After this the image should be changed to the picture just downloaded from the database.
    The tried to call the methode:
    image.setUrl("C:\\img.jpg");
    then the current image dissapears, but the new image isn't displayed.
    Did I used the right methode, or should I just call some kind of refresh methode? Can you please help.
    THANX

    Google "banner rotation".
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "informatic-tec" <[email protected]> wrote in
    message
    news:efj729$mpa$[email protected]..
    > Hellow to everybody, i would like to know witch is the
    html code or script
    > that let me change images on and web page any time i
    refres it.
    >
    > I would like to make a page with 4 images at the top,
    that change
    > any time that one user refresh it.
    >
    > Thanks to anyone who can help me.
    >
    > David
    >
    >
    >

  • Changing images on html

    Hellow to everybody, i would like to know witch is the html
    code or script
    that let me change images on and web page any time i refres
    it.
    I would like to make a page with 4 images at the top, that
    change
    any time that one user refresh it.
    Thanks to anyone who can help me.
    David

    Google "banner rotation".
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "informatic-tec" <[email protected]> wrote in
    message
    news:efj729$mpa$[email protected]..
    > Hellow to everybody, i would like to know witch is the
    html code or script
    > that let me change images on and web page any time i
    refres it.
    >
    > I would like to make a page with 4 images at the top,
    that change
    > any time that one user refresh it.
    >
    > Thanks to anyone who can help me.
    >
    > David
    >
    >
    >

  • Changing images to 300dpi within indesign

    Hi again only me, lol
    Within Illustrator have an action set up so i can automatically change the resolution of an image to 300dpi with one click.
    I know Indesign doesnt use actions but is there away of simply setting a script to action this very time saving exercise?
    Andy

    You don't need to do this.
    Make a PDF
    Go to File>Export and in the Compression section of the dialog box there is the option to Downsample All Images to 300 ppi that are above 450.
    However:
    There are scripts to resize images to do this http://www.adobe.com/cfusion/exchange/index.cfm?event=extensionDetail&extid=1833529
    (Window>Automation> Scripts) CS5 it's Under (Window>Utilities>Scripts)
    Installing scripts
    http://indesignsecrets.com/how-to-install-scripts-in-indesign.php
    Why do you want to change all the images to 300 ppi ? There's no need.
    There are two things to look for in the Window>Info Panel
    When you place an image check teh Info Panel
    It will have actual and effective PPI
    Actual will show you the ppi that is resident in the file.
    Effective will show you the PPI in relation to how it was scaled within InDesign
    As long as Effective PPI is 300 ppi or higher then all is fine.
    Generally there is no need to go to open all your images and save them as 300 ppi
    Just use them as they are - even if they are "effectively" over 300 ppi it won't matter.
    When you make the PDF for print you can downsample the images there - reducing the size of the PDF.

  • Applying easing while changing image using timer

    Hi
      In my app i am changing images using timer..i have 7 images when the image starts changing it flicker and background comes then the new image that is what my problem is
    here is my code..
                   import flash.utils.Timer;
                        import flash.events.TimerEvent;
                        import flash.display.Sprite;
                      var myTimer:Timer = new Timer(95, 7);
                    private var k:int;
                     public var imgary:Array=new Array();
    function init()
         for(var i:int=0;i<=6;i++)
                         imgary[i]=new Array();
                         imgary[i][0]="Assets/open_drawer"+i+".png";
                         if(i==1||i==2)
                             imgary[i][1]=81;
                         else if(i==0)
                             imgary[i][1]=77;
                         else if(i==3)
                                 imgary[i][1]=83;
                                 k=83;
                         else if(i==4)
                                 k=k+2;
                                 imgary[i][1]=k;
                         else
                                 k=k+3;
                             imgary[i][1]=k;
         myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
                myTimer.start();
    public function timerHandler(e:TimerEvent):void {
                   tests.source=imgary[e.target.currentCount-1][0];
                            tests.width=383;
                            tests.height=imgary[e.target.currentCount-1][1];
                            tests.x=0;
                            //invalidateDisplayList();
        ]]>
    </mx:Script>
    <mx:Panel  verticalAlign="top" horizontalScrollPolicy="off" backgroundColor="#616060"  id="pnlMaster" width="400" height="560" horizontalCenter="-184" verticalCenter="13">
    <mx:Image id="tests" source="@Embed(source='Assets/drawer_img.png')" width="383"  x="0"  height="75"/>
    </mx:Panel>
    </mx:WindowedApplication>

    is there any way by which i can handle this..can i provide smoothness or easing kind of thing so that it appears to the user that it is a only one image..

  • Question about dynamically changing image source

    hi, this might be a stupid question that i've simply never
    seen, but i have a picture on a page that, when the user clicks a
    link below, needs to change to an altered picture. probably very
    simple, i just need code that will change the image source of a
    named image by clicking a link. thanks for any help you can give
    me.

    You can use a remote rollover technique that uses css
    (nesting one or more elements inside an anchor link) and absolute
    positioning, or JavaScript.
    Here is a quick JavaScript to achieve this effect:
    xhtml code
    <head>
    <script src="external.js" language = "javascript" type =
    "text/javascript"></script>
    </head>
    <body>
    <p><a href="new_page.html" id="arrow"> New
    Page</a></p>
    <img src="images/image1_off.gif" width="100" height="20"
    id="arrowImg" alt="arrow" />
    </body>
    external JavaScript file
    window.onLoad = rolloverInit;
    function rolloverInit() {
    for (var i=0; i<document.links.length; i++)
    var linkObj = document.links
    if (linkObj.id) {
    var imgObj = document.getElementById(linkObj.id + "Img");
    if (imgObj) {
    setupRollover(linkObj, imgObj);
    function setupRollover(thisLink, thisImage) [
    this.Link.imgToChange = thisImage;
    this.Link.onmouseout = rollOut;
    this.Link.onmouseover = rollOver;
    thisLink.outImage = new Image();
    this.Link.outImage.src = this.Image.src;
    thisLink.overImage = new Image();
    thisLink.overImage.src = "images/" + thisLink.id +
    "_on.gif";
    function rollOver() {
    this.imgToChange.src = this.overImage.src;
    function rollOut() {
    this.imageToChange.src = this.outImage.src;
    There is a lot going on here but if you know a little
    JavaScript it will be failry easy to work it out. The important
    thing is to note the file layout, naming conventions and image
    constructs. Make sure the ids, etc are matched in the functions and
    html code.
    This technique shows the user what the image will become if
    they click the text when they mouse over the text link. This is
    handy for showing a preview of an image. You can alter the script
    to change the image without a preview if you don't want that
    effect.
    regards
    Nick Barling
    www.barkingweb.com

  • Help with action script to load image

    I have a Fla file that is works to slide open doors from
    button hit and open sliding doors, but I cannot get an image to
    load and display when the door begins to open, can some please
    help. I can send th fla file for viewing.

    I did modify the script. My images were in Adobe RGB (1998) and I modified the script to match them from that to the costco printer one. The images were changed as by looking at the screen, by printing to costco, and looking at the new profile assigned. But they didn't look the same on the screen or printed as those from either Preview or ColorSyncUtility.
    I finally wrote a 'shortcut' in iKey to just change all the open images in ColorSync Utility.
    Note: Graphic Converter might work. It does change the image on the screen but I haven't printed it. The screen does not look the same as ColorSyncUtility, It does not give you the choice of intent either.

  • Change image size on list Field

    I have list library which has column of "Person or Group" and selected "Name with (picture)".  But i cant change image Size there. its always 62x62. How can i change it?
    any idea?
    Regards,
    Lasantha

    How exactly are you wanting to change it? height and width should just be attributes in the element... so.. probably the most simple (but not exactly elegant) way to handle this is to use jQuery.
    If you drop the following script into a Content Editor Web Part on your page, it will resize all the profile pics to 100x100.  (change the numbers to the size you want):
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">
    jQuery(document).ready(function($){
    $("img[width='62']").each(function()
    $(this).attr("width","100");
    $(this).attr("height","100");
    </script>
    Some Caveats:
    1) This script resizes ALL images that have a width of 62. So, if you have some other random image on your page that is 62px wide, it will find it and resize as well.
    2) I'm references the jQuery library externally which I do not usually recommend, but at least you can drop this script in and it should just work.  
    Again, not elegant, and I'm sure someone smarter than me can improve on it, but it should at least get you what you need.
    Good luck!
    Mark

  • Change image resolution using image events

    Does anyone have an applescript to change image resolution using image events in OSX? I want to optimize my images for iWeb. I want to use a shell script in an applescript as a droplet or as a service in Automator. I'd like to leave the original intact.

    No? Oh...ok den. No Applescripts at all.

  • Applescript to change image resolution using image events

    Does anyone have an applescript to change image resolution using image events in OSX? I want to optimize my images for iWeb. I want to use a shell script in an applescript as a droplet or as a service in Automator. I'd like to leave the original intact.

    For what type of use in iWeb are these photos intended? If it's for adding to a page (not a photo or album page) iWeb does a great job of optimizing. See my post in this topic: Re: Photo Resolution in iWeb.
    You can optimize an entire site with an application like Web Site Maestro. It can reduce the site's size by up to 49%. Here's the settings available for the optimization:
    Click to view full size
    It's very effective.
    OT

  • Is it possible to script language change in OSX Lion ?

    I recently purchased a Disney game (Cars 2) from the App Store, which advertises being available in 5 languages. It seems now that the game has no in-app options to change language, but selects the language based on OSX settings (but otherwise the app doesn't use ANY of the GUI elements from the OS).
    My Mac's are all set up in English, in the account on which my kid plays the game doesn't have administrator rights (for good reasons). He doesn't master the English language enough and would like to play the game in dutch. On the other hand, when using Safari and other apps, he is used to the English user interface.
    Is it possible to create a script that changes the Finder language to Dutch, then forces Finder Quit, then launches the App, and after quitting the App reverses the Finder Change ? (or if not in one step, maybe in a number of subscripts), so that I can let my kid enjoy his game in dutch without me having to be present each time to change the system settings ?
    Thanks in advance.
    Philip

    Tom, thanks, this works perfectly. In older days, I have been a programmer on Mac (long before even the PowerMac days), and back then I would have used ResEdit to do something similar as what you suggested. Since those days are long gone, I was not sure if it was possible to change the resources of an app without extensive coding software, but the trick you just showed me seems to be the current-day equivalent of ResEdit ...
    Anyways, you saved our day ... thanks alot
    Philip

  • Photoshop Elements 5.0 - won't let me change image aspect ratio. Box is greyed out. Have reinstalled

    I've been using Photoshop Elements 5.0 for years.  As of today, it won't let me change image aspect ratio. Box is greyed out. Have reinstalled the program with no change

    Where in photoshop elements 5 are you seeing the "Box" geyed out?
    Or how are you trying to change the image aspect ratio?

  • Filter plugin. Problem after change image depth.

    Hi All !
    I already wrote filter plugin it work fine but only for image depth 8bit, after i change image depth on 16 or 32 bits I getting error msg box from photoshop.
    I try change on 'destination.colBits = 8' or 'destination.colBits = pChannel->depth' or ' (pChannel->bounds.bottom - pChannel->bounds.top) * pChannel->depth;'  but all the same.
    PixelMemoryDesc destination;
    destination.data = data; //*pixel
    destination.depth = pChannel->depth;
    destination.rowBits = (pChannel->bounds.right - pChannel->bounds.left) * pChannel->depth;
    destination.colBits = 8;
    destination.bitOffset = 0 ;
    Please help someone !
    Very Thanks in Advance !
    All code below:
    //  Gauss.cpp
    //  gauss
    //  Created by Dmitry Volkov on 30.12.14.
    //  Copyright (c) 2014 Automatic System Metering. All rights reserved.
    #include "Gauss.h"
    #include "GaussUI.h"
    #include "FilterBigDocument.h"
    #include <fstream>
    using namespace std;
    SPBasicSuite* sSPBasic = NULL;
    FilterRecord* gFilterRecord = NULL;
    PSChannelPortsSuite1* sPSChannelPortsSuite = NULL;
    PSBufferSuite2* sPSBufferSuite64 = NULL;
    int16* gResult = NULL;
    void DoParameters ();
    void DoPrepare ();
    void DoStart ();
    void DoFinish ();
    void DoEffect();
    void GaussianBlurEffect(ReadChannelDesc* pChannel, char* data);
    void ReadLayerData(ReadChannelDesc* pChannel, char* pLayerData);
    void WriteLayerData(ReadChannelDesc* pChannel, char* pLayerData);
    DLLExport MACPASCAL void PluginMain(const int16 selector,
                                        FilterRecordPtr filterRecord,
                                        intptr_t * data,
                                        int16 * result)
        sSPBasic = filterRecord->sSPBasic;
        gFilterRecord = filterRecord;
        gResult = result;
        try {
                if (sSPBasic->AcquireSuite(kPSChannelPortsSuite,
                                                   kPSChannelPortsSuiteVersion3,
                                                   (const void **)&sPSChannelPortsSuite))
                    *gResult = errPlugInHostInsufficient;
                if (sSPBasic->AcquireSuite( kPSBufferSuite,
                                                   kPSBufferSuiteVersion2,
                                                   (const void **)&sPSBufferSuite64))
                    *gResult = errPlugInHostInsufficient;
                if (sPSChannelPortsSuite == NULL || sPSBufferSuite64 == NULL)
                    *result = errPlugInHostInsufficient;
                    return;
                switch (selector)
                    case filterSelectorParameters:
                        DoParameters();
                        break;
                    case filterSelectorPrepare:
                        DoPrepare();
                        break;
                    case filterSelectorStart:
                        DoStart();
                        break;
                    case filterSelectorFinish:
                        DoFinish();
                        break;
        catch (...)
            if (NULL != result)
                *result = -1;
    void DoParameters ()
    void DoPrepare ()
    void DoStart ()
        if (*gResult == noErr)
            if (doUi())
                DoEffect();
    void DoFinish ()
    #define defColBits 8
    void DoEffect()
        // Start with the first target composite channel
        ReadChannelDesc *pChannel = gFilterRecord->documentInfo->targetCompositeChannels;
        // Calculation width and height our filter window
        int32 width = pChannel->bounds.right - pChannel->bounds.left;
        int32 height = pChannel->bounds.bottom - pChannel->bounds.top;
        fstream logFile ("/Volumes/Macintosh Media/GaussLogFile.txt", ios::out);
        logFile << endl << "top " << pChannel->bounds.top;
        logFile << endl << "bottom " << pChannel->bounds.bottom;
        logFile << endl << "left " << pChannel->bounds.left;
        logFile << endl << "right " << pChannel->bounds.right;
        logFile << endl << "depth " << pChannel->depth;
        logFile << endl << "vRes " << gFilterRecord->documentInfo->vResolution;
        logFile << endl << "hRes " << gFilterRecord->documentInfo->hResolution;
        // Get a buffer to hold each channel as we process. Note we can using standart malloc(size_t) or operator new(size_t)
        // functions, but  Adobe recommend sPSBufferSuite64->New() for memory allocation
        char *pLayerData = sPSBufferSuite64->New(NULL, width*height*pChannel->depth/8);
        if (pLayerData == NULL)
            return;
        // we may have a multichannel document
        if (pChannel == NULL)
            pChannel = gFilterRecord->documentInfo->alphaChannels;
        // Loop through each of the channels
        while (pChannel != NULL && *gResult == noErr)
            ReadLayerData(pChannel, pLayerData);
            GaussianBlurEffect(pChannel, pLayerData);
            WriteLayerData(pChannel, pLayerData);
            // off to the next channel
            pChannel = pChannel->next;
        pChannel = gFilterRecord->documentInfo->targetTransparency;
        // Delete pLayerData
        sPSBufferSuite64->Dispose((char**)&pLayerData);
    void GaussianBlurEffect(ReadChannelDesc* pChannel, char *data)
        // Make sure Photoshop supports the Gaussian Blur operation
        Boolean supported;
        if (sPSChannelPortsSuite->SupportsOperation(PSChannelPortGaussianBlurFilter,
                                                    &supported))
            return;
        if (!supported)
            return;
        // Set up a local rect for the size of our port
        VRect writeRect = pChannel->bounds;
        PIChannelPort inPort, outPort;
        // Photoshop will make us a new port and manage the memory for us
        if (sPSChannelPortsSuite->New(&inPort,
                                      &writeRect,
                                      pChannel->depth,
                                      true))
            return;
        if (sPSChannelPortsSuite->New(&outPort,
                                      &writeRect,
                                      pChannel->depth,
                                      true))
            return;
        // Set up a PixelMemoryDesc to tell how our channel data is layed out
        PixelMemoryDesc destination;
        destination.data = data; //*pixel
        destination.depth = pChannel->depth;
        destination.rowBits = (pChannel->bounds.right - pChannel->bounds.left) * pChannel->depth;
        destination.colBits = defColBits;
        destination.bitOffset = 0 ;
        // Write the current effect we have into this port
        if (sPSChannelPortsSuite->WritePixelsToBaseLevel(inPort,
                                                         &writeRect,
                                                         &destination))
            return;
        // Set up the paramaters for the Gaussian Blur
        PSGaussianBlurParameters gbp;
        int inRadius = 1;
        Fixed what = inRadius << 16;
        gbp.radius = what;
        gbp.padding = -1;
        sPSChannelPortsSuite->ApplyOperation(PSChannelPortGaussianBlurFilter,
                                                                 inPort,
                                                                 outPort,
                                                                 NULL,
                                                                 (void*)&gbp,
                                                                 &writeRect);
        if (sPSChannelPortsSuite->ReadPixelsFromLevel(outPort,
                                                      0,
                                                      &writeRect,
                                                      &destination))
            return;
        // Delete the temp port in use
        sPSChannelPortsSuite->Dispose(&inPort);
        sPSChannelPortsSuite->Dispose(&outPort);
    void ReadLayerData(ReadChannelDesc *pChannel, char *pLayerData)
        // Make sure there is something for me to read from
        Boolean canRead;
        if (pChannel == NULL)
            canRead = false;
        else if (pChannel->port == NULL)
            canRead = false;
        else if (sPSChannelPortsSuite->CanRead(pChannel->port, &canRead))
            // this function should not error, tell the host accordingly
            *gResult = errPlugInHostInsufficient;
            return;
        // if everything is still ok we will continue
        if (!canRead || pLayerData == NULL)
            return;
        // some local variables to play with
        VRect readRect = pChannel->bounds;
        PixelMemoryDesc destination;
        // set up the PixelMemoryDesc
        destination.data = pLayerData;
        destination.depth = pChannel->depth;
        destination.rowBits = pChannel->depth * (readRect.right - readRect.left);
        destination.colBits = defColBits;
        destination.bitOffset = 0 ;
        // Read this data into our buffer, you could check the read_rect to see if
        // you got everything you desired
        if (sPSChannelPortsSuite->ReadPixelsFromLevel(
                                                      pChannel->port,
                                                      0,
                                                      &readRect,
                                                      &destination))
            *gResult = errPlugInHostInsufficient;
            return;
    void WriteLayerData(ReadChannelDesc *pChannel, char *pLayerData)
        Boolean canWrite = true;
        if (pChannel == NULL || pLayerData == NULL)
            canWrite = false;
        else if (pChannel->writePort == NULL)
            canWrite = false;
        else if (sPSChannelPortsSuite->CanWrite(pChannel->writePort, &canWrite))
            *gResult = errPlugInHostInsufficient;
            return;
        if (!canWrite)
            return;
        VRect writeRect = pChannel->bounds;
        PixelMemoryDesc destination;
        destination.data = pLayerData;
        destination.depth = pChannel->depth;
        destination.rowBits = pChannel->depth * (writeRect.right - writeRect.left); //HSIZE * pChannel->depth * gXFactor*2;
        destination.colBits = defColBits;
        destination.bitOffset = 0 ;
        if (sPSChannelPortsSuite->WritePixelsToBaseLevel(
                                                         pChannel->writePort,
                                                         &writeRect,
                                                         &destination))
            *gResult = errPlugInHostInsufficient;
            return;

    Have you reviewed your code vs the Dissolve example? It is enabled for other bit depths as well.

Maybe you are looking for