Sur Windows 7 64 bit, ne fonctionne pas.
J'essaie d'en créer un transparent. Mais cela ne fonctionne pas. Vous pourriez trouver un bug. Ou une fonction cIntBMP Trasnparent Add.

//+------------------------------------------------------------------+ //|test.mq5 | //| Copyright 2011, MetaQuotes Software Corp. //| http ://www.mql5.com //+------------------------------------------------------------------+ #property copyright "Copyright 2011, MetaQuotes Software Corp." #property link "http://www.mql5.com" #property version "1.00" //+------------------------------------------------------------------+ //| Fonction de démarrage du programme de script| //+------------------------------------------------------------------+ #import "user32.dll" int GetDC(int hwnd); int ReleaseDC(int hwnd,int hdc); #import "gdi32.dll" int GetPixel(int hdc,int x,int y); int SetPixel(int hdc,int x,int y, int c); #import void OnStart() { int i, H, V, shH=0, shV=0, header; double hgh; color screen [80][80]; color r, g, b, cv=Red; //--- long hwnd=ChartGetInteger(ChartID(),CHART_WINDOW_HANDLE); int hdc=GetDC((int)hwnd); for(V=0; V<80; V++) { for(H=0; H<80; H++) { screen[V][H]=GetPixel(hdc,V,H); } } for(V=0; V<80; V++) { for(H=0; H<80; H++) { cv=screen[V][H]; cv=AlphaBlend(cv ,clrRed ); SetPixel(hdc, V+shV,H+shH,cv); } } Sleep(3000); } //+------------------------------------------------------------------+ /* routine de mélange alpha */ int AlphaBlend(int bg, int src) { int alpha = 100; return (src * alpha / 255 + bg * (255 - alpha) / 255); int a = src >> 24; /* alpha */ /* Si le pixel source est transparent, il suffit de renvoyer l'arrière-plan */ if (0 == a) return (bg); /* mélange alpha des couleurs de la source et de l'arrière-plan */ int rb = (((src & 0x00ff00ff) * a) + ((bg & 0x00ff00ff) * (0xff - a))) & 0xff00ff00; int g = (((src & 0x0000ff00) * a) + ((bg & 0x0000ff00) * (0xff - a))) & 0x00ff0000; return ( (src & 0xff000000) | ((rb | g) >> 8) ); }
FinGeR:
Vous n'avez pas besoin d'une telle fonction, vous devrez recalculer et mettre à jour l'ensemble de l'image à chaque tic-tac. La machine est en fer, mais laissez-la s'occuper de tâches plus utiles.
Ou une fonction cIntBMP Trasnparent Add.
Est-il possible d'utiliser cette bibliothèque SANS la dll qu'elle appelle ( fonctions du fichier à l'intérieur du code) ?
Les gars, il y a peut-être d'autres moyens d'améliorer l'image ?
Dmitry Fedoseev chaque tic-tac. La machine est en fer, mais laissez-la s'occuper de tâches plus utiles.
Vous voulez dire que la seule façon d'avoir de la transparence sur ces objets rectangles et triangles est de reproduire la solution que nous avons ici dans cet article ? Étudier la classe CCanvas. Comment dessiner des objets transparents - Articles MQL5
Studying the CCanvas Class. How to Draw Transparent Objects
- www.mql5.com
Do you need more than awkward graphics of moving averages? Do you want to draw something more beautiful than a simple filled rectangle in your terminal? Attractive graphics can be drawn in the terminal. This can be implemented through the CСanvas class, which is used for creating custom graphics. With this class you can implement transparency, blend colors and produce the illusion of transparency by means of overlapping and blending colors.
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
cIntBMP - bibliothèque pour la création d'images au format BMP:
Une classe pour créer et afficher des images au format BMP.
Author: Dmitry Fedoseev