Photoshop en javascript.

Pagina: 1
Acties:

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 30-01 12:08
Na 2 en een half keer nadenken toch maar in dit forum.
Vanwege een rare render fout in Internet Explorer moeten de plaatjes van de webshop die ik aan het bouwen ben een even aantal pixels hoog en een even aantal pixels breed zijn, anders komt er een randje langs m'n plaatje. (En ja het is CSS en XHTML compatible :)) Nu probeer ik een scriptje los te laten op een map met plaatjes.

Je kunt een even getal checken met "if (h%2)"...
Alleen lijkt dit in in photoshop niet te werken.
dit is het scriptje:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if (!app.documents.length > 0) {    // open sample file if no document is opened.
    var fileName = app.path.toString() + "/Voorbeelden/Duin.tif";
    var docRef = open( File(fileName) );
}

app.preferences.rulerUnits = Units.PIXELS;
var h = app.activeDocument.height
var w = app.activeDocument.width
var x = (h * 2)

if (!(h%2))
    {
bounds = new Array(0, 0, app.activeDocument.width, app.activeDocument.height - 1);
app.activeDocument.crop(bounds);
bounds = null;
    }

if (!(w%2))
    {
bounds = new Array(0, 0, app.activeDocument.width - 1, app.activeDocument.height);
app.activeDocument.crop(bounds);
bounds = null;
    }

Alleen werkt dit niet, photoshop maakt van de breedte geen integer, maar maakt er bijv. "123 px" van... Erg lastig. Heeft iemand een passende oplossing?
Voorbeeld van oneven aantal pixels.

[ Voor 3% gewijzigd door NielsNL op 13-08-2006 00:38 ]

M'n Oma is een site aan het haken.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:30

crisp

Devver

Pixelated

Het lijkt wel smurfentaal! Ben je je wel bewust van het feit dat HTML meer elementen kent dan enkel DIV's?
Verder zou ik als ik jou was eens beginnen met het downloaden van een standards-compliant browser; het feit dat je XHTML gebruikt (wat IE niet eens ondersteund) wil natuurlijk niet zeggen dat hetgeen je produceert ook voldoet aan enige standaard - met andere woorden: het ziet er niet uit in een ander browser dan IE ;)

Intentionally left blank


  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 30-01 12:08
Ik heb juist m'n best gedaan om het ook in Opera en firefox er hetzelfde uit te laten zien, ik gebruik zelf nml. altijd Opera. En idd, het is nogal een overload aan divjes. :P
Met wat voor soort objecten zou jij het maken?
(De vraag was trouwens om het scriptje in photoshop te laten werken. :))
//edit
Ik heb nog eens naar de source gekeken, en er zouden wel wat divjes uit kunnen, er zijn er een aantal door het vele proberen ingeslopen.
Het feit dat er aan de zijkant (menu) allemaal divjes staan komt doordat er ook subcategorieën kunnen bestaan die dan netjes uitklappen (die heb ik wél met een <li> gemaakt ;))

[ Voor 35% gewijzigd door NielsNL op 13-08-2006 01:00 ]

M'n Oma is een site aan het haken.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:30

crisp

Devver

Pixelated

Mijn Firefox weigert vooralsnog je stylesheet te laden vanwege een verkeerde mimetype.
Verder kan je submenu's natuurlijk ook op de volgende manier maken:
HTML:
1
2
3
4
5
6
7
8
<ul>
  <li>menu-item
    <ul>
      <li>submenu-item</li>
      <li>submenu-item</li>
    </ul>
  </li>
</ul>

Intentionally left blank


  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 30-01 12:08
Stylesheet in firefox is gefixed, voortaan ga ik dus in alle3 de browsers checken...
Als er met submenu's wordt gewerkt, wordt het inderdaad op die manier opgebouwd. Omdat ze ook nog in moeten kunnen klappen zit er een divje omheen.

//edit
Thnx Arjen!

[ Voor 4% gewijzigd door NielsNL op 13-08-2006 02:08 ]

M'n Oma is een site aan het haken.


  • Arjen Tempel
  • Registratie: Januari 2002
  • Niet online
Dit werkt wel:
code:
1
2
3
4
5
6
7
if ((h%2)==1){
    alert('oneven hoogte');
}

if ((w%2)==1){
    alert('oneven breedte');
}
Pagina: 1