Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 1 of 1
  1. #1
    New to the CF scene
    Join Date
    Mar 2007
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Dynamically load Image Map coordinates

    I have an asp.net site that uses a dropdown listbox to select 1 of 6 different images to be displayed at one time. Changing the image is working fine. But I need to define and use a different set of coordinates for each image. One image could have as few as 5 regions, while another could have up to 100. The coordinates will be hardcoded but I can't seem to figure out how to load different sets of "PolygonHotspot" based on which image is displayed. I thought it was going to be as easy as assigning an ID to 100 different hotspots, then turning them off or on and defining the coordinates based on the image name. That seemed like the perfect solution .. until I found out that the PolygonHotspot doesn't have an ID property.

    Any help would be GREATLY appreciated! Please email me at bry at herp dot com

    Thank you in advance,

    Bryan Mohr

    Just for reference, here is the code that I Was hoping would work:

    ASP.NET Code
    Code:
                <asp:ImageMap 
                    runat="Server"
                    ID="imImage"
                    Height="422px"
                    Width="280px"
                    BackColor="#FFFF80"
                    AlternateText="Spinal Cord Side"
                    HotSpotMode="PostBack"
                    OnClick="ShowCombo"
                    ImageUrl="~/Images/Spinal_Cord_Side.JPG">
                    
                    <asp:PolygonHotSpot                     
                        ID="HS001"
                        HotSpotMode="PostBack"
                        AlternateText="Top Vertebrae"
                        Coordinates="118,16,127,11,135,4,142,4,154,11,155,16,154,17,143,15,139,15,132,22,118,17,118,17"
                        PostBackValue="Top Vertebrae" />
                        
                    <asp:PolygonHotSpot
                        ID="HS002"
                        HotSpotMode="PostBack"
                        AlternateText="Second Vertebrae"
                        Coordinates="118,32,131,24,131,22,139,15,154,17,156,32,141,25,138,25,137,27,137,29,121,38,119,36"
                        PostBackValue="Second Vertebrae" />
                        
                    <asp:PolygonHotSpot
                        ID="HS003"
                        HotSpotMode="InActive"
                        AlternateText="Not used here"
                        Coordinates="161,6,163,20,216,22,208,4,169,5"
                        PostBackValue="Unused" />                    
                </asp:ImageMap>
    VB Code
    Code:
        Protected Sub cbImageCombo_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbImageCombo.TextChanged
            Dim strImageName As String = cbImageCombo.Text
            Dim strImageText As String = strImageName
    
            strImageName = "~/Images/" & strImageName.Replace(" ", "_") & ".JPG"
            imImage.ImageUrl = strImageName
            imImage.AlternateText = strImageText
    
            ' First Make all Hotspots inactive
            HS001.HotspotMode = "Inactive"
            HS002.HotspotMode = "Inactive"
            HS003.HotspotMode = "Inactive"
    
            ' Next activate the defined hotspots for the currently selected image
            If (strImageText = "Spinal Cord Side") Then
                HS001.HotSpotMode = "PostBack"
                HS001.AlternateText = "Top Vertebrae"
                HS001.Coordinates = "118,16,127,11,135,4,142,4,154,11,155,16,154,17,143,15,139,15,132,22,118,17,118,17"
                HS001.PostBackValue = "Top Vertebrae"
    
                HS002.HotSpotMode = "PostBack"
                HS002.AlternateText = "Second Vertebrae"
                HS002.Coordinates = "118,32,131,24,131,22,139,15,154,17,156,32,141,25,138,25,137,27,137,29,121,38,119,36"
                HS002.PostBackValue = "Second Vertebrae"
            End If
    
            If (strImageText = "Skeleton Front") Then
                HS001.HotSpotMode = "PostBack"
                HS001.AlternateText = "Skull"
                HS001.Coordinates = "120,14,126,7,134,3,138,3,146,6,151,11,154,17,154,27,152,39,148,41,148,49,142,53,132,53,125,49,125,43,124,39,121,35,121,32,119,28,119,16"
                HS001.PostBackValue = "Skull"
            End If
    
            If (strImageText = "Muscular Man Back") Then
                HS001.HotSpotMode = "PostBack"
                HS001.AlternateText = "Lateral Deltoid - Right"
                HS001.Coordinates = "172,82,180,80,187,79,189,80,194,84,198,89,200,95,201,99,202,107,201,115,192,106,185,98,184,90,178,88,174,85"
                HS001.PostBackValue = "Lateral Deltoid - Right"
    
                HS002.HotSpotMode = "PostBack"
                HS002.AlternateText = "Posterior Deltoid - Left"
                HS002.Coordinates = "100,97,101,114,86,128,81,126,90,107"
                HS002.PostBackValue = "Posterior Deltoid - Left"
    
                HS002.HotSpotMode = "PostBack"
                HS002.AlternateText = "Levator Scapulae - Left"
                HS002.Coordinates = "109,75,127,64,132,57,130,73,112,76"
                HS002.PostBackValue = "Levator Scapulae - Left"
            End If
        End Sub
    Last edited by BryanM; 03-12-2007 at 11:39 AM. Reason: Added code


 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •