Modifier le contraste de l'écran en AppleScript

nati boy

Membre confirmé
21 Septembre 2008
18
0
Bonjour :) ,

tout est dans le titre, je cherche à savoir si c'est possible de modifier le contraste de l'écran en AppleScript.
Ce que je voudrais faire c'est un peu comme sur l'iPod Touch quand on prend un screenshot ou comme sur Photo Booth quand on prend une photo.

Voilà, merci d'avance pour votre aide ;)
 
Bonjour :) ,

tout est dans le titre, je cherche à savoir si c'est possible de modifier le contraste de l'écran en AppleScript.
Ce que je voudrais faire c'est un peu comme sur l'iPod Touch quand on prend un screenshot ou comme sur Photo Booth quand on prend une photo.

Voilà, merci d'avance pour votre aide ;)
Bonjour

Tu cherche à passer sur un fond d'écran blanc (pour faire un effet de flash) et revenir à ton fond d'écran?

@+
 
Pas que le fond d'écran mais tout l'écran. Oui, un effet flash afin de bien attirer l'attention.
Bonsoir

Fait un test avec ce code.

Bloc de code:
-- Remplace DD par le nom du volume de démarrage

tell application "System Events"
	tell current desktop
		set picture to file "DD:Library:Desktop Pictures:Solid Colors:Solid White.png"
		delay 3
		set picture to file "DD:Library:Desktop Pictures:Plants:Grass Blades.jpg"
	end tell
end tell

Dit nous si ça te donne une idée pour ta recherche.

@+
 
Merci pour ton bout de code, mais je pense qu'il modifie le fond d'écran or ce n'est pas tellement ce que je voudrai.
Je l'ai testé mais sans succès, mon fond d'écran ne change pas. J'ai pourtant bien remplacé DD par le nom du volume de démarrage.

Merci en tout cas ;)
 
Merci pour ton bout de code, mais je pense qu'il modifie le fond d'écran or ce n'est pas tellement ce que je voudrai.
Je l'ai testé mais sans succès, mon fond d'écran ne change pas. J'ai pourtant bien remplacé DD par le nom du volume de démarrage.

Merci en tout cas ;)
Commence par nous dire:

Quel Mac?
Quel système?

Regarde si les images sélectionnées existent dans les divers chemins.

Testé avec Léopard 10.5.8 sans aucun problème.

Si je comprend bien tu veut un effet flash sans changer le fond d'écran, alors utilise le plein écran de ton application (si elle accepte).

Maintenant, je reconnaît que j'ai mal compris ta question.

Donc je suis d'aucune aide pour toi, bye. :)

@+
 
update j'ai mis tout ce qui suit ici

http://code.google.com/p/le-depotoir/source/browse/#svn/trunk/obj-C/FlashScreen



Bonjour :) ,

tout est dans le titre, je cherche à savoir si c'est possible de modifier le contraste de l'écran en AppleScript.
Ce que je voudrais faire c'est un peu comme sur l'iPod Touch quand on prend un screenshot ou comme sur Photo Booth quand on prend une photo.

Voilà, merci d'avance pour votre aide ;)

une solu full applescript

Bloc de code:
tell application "System Events"
    try
        do shell script "defaults write com.apple.systemsound \"com.apple.sound.beep.flash\" -int 1"
    end try
    beep
end tell
si tu veux faire plus evoluer je pense que tu devrais ecrire un simple cocoa command-line tool qui cree une NSWindow fullscreen avec un petit fade puis quitte...

je t'ai ecrit ca on fly tu peux faire un do shell script avec et par example t'amuser a ajouter des options comme jouer un son ou l'alerte systeme a toi d'etre creatif.

Bloc de code:
$ gcc -framework AppKit flashscreen.m -o flashscreen
$ ./flashscreen
Bloc de code:
//
//  flashscreen.m
//  Command Utility
//
//  Copyright Cucurbita. All rights reserved.
//

// gcc -framework AppKit flashscreen.m -o flashscreen

#import <AppKit/AppKit.h>

@interface flashscreenWindow : NSWindow {

}

@end

@implementation flashscreenWindow

- (id)initFullScreen 
{
    if ((self = [super initWithContentRect:[[NSScreen mainScreen] frame] styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO])) {
        [self setBackgroundColor: [NSColor whiteColor]];
        [self setLevel:CGShieldingWindowLevel()];
        [self setAlphaValue:0.3];
        [self setOpaque:NO];
        [self setHasShadow:NO];
    }
    return self;
}

@end

@interface flashscreenDelegate: NSObject {
    flashscreenWindow *window;
}

@end

@implementation flashscreenDelegate

- (void)dealloc
{
    if (window) {
        [window release];
    }
    [super dealloc];
}

- (void)applicationWillFinishLaunching:(NSNotification *)aNotification
{
    window = [[flashscreenWindow alloc] initFullScreen];
    [window makeKeyAndOrderFront:self];
    [NSTimer scheduledTimerWithTimeInterval:0.1
        target:self selector:@selector(terminateFlashScreen:) userInfo:nil repeats:NO];
}

- (void)terminateFlashScreen:(NSTimer *)timer
{
    [timer invalidate];
    [[NSApplication sharedApplication] terminate:self];
}

- (void)applicationWillTerminate:(NSNotification *)aNotification
{
    if (window) {
         [window orderOut:self];
     }
}

@end

int main(int argc, const char **argv)
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    
    [[NSApplication sharedApplication] setDelegate:[flashscreenDelegate new]];
    [[NSApplication sharedApplication] run];
      
      [pool drain];
      
      return 0;
}

/* EOF */
variante avec fade pour coller au macos flashscreen effet

Bloc de code:
//
//  flashscreen.m
//  Command Utility
//
//  Copyright Cucurbita. All rights reserved.
//

#import <AppKit/AppKit.h>

@interface flashscreenWindow : NSWindow {

}

@end

@implementation flashscreenWindow

- (id)initFullScreen 
{
    if ((self = [super initWithContentRect:[[NSScreen mainScreen] frame] styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:NO])) {
        [self setBackgroundColor: [NSColor whiteColor]];
        [self setLevel:CGShieldingWindowLevel()];
        [self setAlphaValue:0.0];
        [self setOpaque:NO];
        [self setHasShadow:NO];
    }
    return self;
}

@end

@interface flashscreenDelegate: NSObject {
    flashscreenWindow *window;
}

@end

@implementation flashscreenDelegate

- (void)dealloc
{
    if (window) {
        [window release];
    }
    [super dealloc];
}

- (void)applicationWillFinishLaunching:(NSNotification *)aNotification
{
    window = [[flashscreenWindow alloc] initFullScreen];
    [window makeKeyAndOrderFront:self];
    
    float alpha = 0.0;
    int i = 0;
    for (i = 0; i < 3; i++) {
        alpha += 0.1;
        [window setAlphaValue:alpha];
        [NSThread sleepForTimeInterval:0.040];
    }
    
    for (i = 0; i < 3; i++) {
        alpha -= 0.1;
        [window setAlphaValue:alpha];
        [NSThread sleepForTimeInterval:0.040];
    }
    
    [NSTimer scheduledTimerWithTimeInterval:0.1
        target:self selector:@selector(terminateFlashScreen:) userInfo:nil repeats:NO];
}

- (void)terminateFlashScreen:(NSTimer *)timer
{
    [timer invalidate];
    [[NSApplication sharedApplication] terminate:self];
}

- (void)applicationWillTerminate:(NSNotification *)aNotification
{
    if (window) {
         [window orderOut:self];
     }
}

@end

int main(int argc, const char **argv)
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
    
    [[NSApplication sharedApplication] setDelegate:[flashscreenDelegate new]];
    [[NSApplication sharedApplication] run];
      
      [pool drain];
      
      return 0;
}

/* EOF */

Bloc de code:
tell application "System Events"
    try
        do shell script "/some/where/flashscreen"
    end try
    beep
end tell
 
Merci beaucoup pour ton bout de code ;)
Pour l'instant j'ai essayé la partie full AppleScript, mais je vais me pencher sur le code Cocoa. En tout cas merci beaucoup, c'est ce que je cherchais :)

Edit: par contre, ya le bip qui me dérange :-° , je pense que c'est là qu'il faut aller voir du coté de cocoa...