Данная библиотека и класс iCanvas упростит написание программ с применением Canvas. Вот пример простого индикатора с применением данной библиотеки и его демонстрация. Обратите внимание, что в данном примере в теле индикатора отсутствует функция обработки событий OnChartEvent. Но она также может и присутствовать. Особенности данной библиотеки...
Bir bmp bit eşleminin basit biçim değiştirmesinin gösterilmesi.
//+------------------------------------------------------------------+//| Morph.mq5 |//| Copyright 2018, MetaQuotes Software Corp. |//| https://www.mql5.com/ru/users/nikolay7ko |//+------------------------------------------------------------------+#property copyright"Copyright 2018, Nikolay Semko"#property link"https://www.mql5.com/ru/users/nikolay7ko"#property link"SemkoNV@bk.ru"#property version"1.01"#property indicator_chart_window#define protectedpublic#include <Canvas\iCanvas.mqh> //https://www.mql5.com/ru/code/22164#undef protected#resource "\\Images\\wave02.bmp"#resource "\\Images\\stone2.bmp"inputint MorphPeriod= 3000 ; // период морфинга в миллисекундах string bmp1= "::Images\\wave02.bmp" ;
string bmp2= "::Images\\stone2.bmp" ;
int width_bmp1,height_bmp1;
int width_bmp2,height_bmp2;
uint BMP1[],BMP2[],scr1[],scr2[];
int N;
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+intOnInit ()
{
ChartSetInteger ( 0 , CHART_FOREGROUND , true );
if (! ResourceReadImage (bmp1,BMP1,width_bmp1,height_bmp1)) Print ( "Error read resource: " , GetLastError ()); // bmp file to array BMP1[]if (! ResourceReadImage (bmp2,BMP2,width_bmp2,height_bmp2)) Print ( "Error read resource: " , GetLastError ()); // bmp file to array BMP2[]ResourceFree (bmp1);
ResourceFree (bmp2);
BackGraundBmp(BMP1,Canvas,width_bmp1,height_bmp1);
ArrayCopy (scr1,Canvas.m_pixels);
BackGraundBmp(BMP2,Canvas,width_bmp2,height_bmp2);
ArrayCopy (scr2,Canvas.m_pixels);
EventSetMillisecondTimer ( 30 );
N=MorphPeriod/ 32 ;
return ( INIT_SUCCEEDED );
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+intOnCalculate ( constint rates_total,
constint prev_calculated,
constint begin,
constdouble &price[])
{
return (rates_total);
}
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+voidOnTimer ()
{
staticlong j= 0 ;
staticint w=Canvas.m_width;
staticint h=Canvas.m_height;
if (w!=Canvas.m_width || h!=Canvas.m_height) // если изменился размер окна, то перерисовываем фон
{
BackGraundBmp(BMP1,Canvas,width_bmp1,height_bmp1);
ArrayCopy (scr1,Canvas.m_pixels);
BackGraundBmp(BMP2,Canvas,width_bmp2,height_bmp2);
ArrayCopy (scr2,Canvas.m_pixels);
w=Canvas.m_width;
h=Canvas.m_height;
}
long k=j%( 2 *N);
k=(k<N)?k:( 2 *N- 1 -k);
Morph(Canvas,scr1,scr2,k/ double (N));
Canvas.Update();
j++;
}
//+------------------------------------------------------------------+void BackGraundBmp( uint &arr[],iCanvas &C, int &w, int &h)
{
int SizeArr=w*h;
int pos= 0 ,posBMP= 0 ;
int len=(C.m_width<w)?C.m_width:w;
while (pos<(C.m_width*C.m_height))
{
int X= 0 ;
while (X<C.m_width)
{
int Len=C.m_width-X;
if (Len>len) Len=len;
ArrayCopy (C.m_pixels,arr,pos+X,posBMP,Len);
X+=len;
}
pos+=C.m_width;
posBMP+=w;
if (posBMP>=SizeArr) posBMP= 0 ;
}
}
//+------------------------------------------------------------------+void Morph(iCanvas &C, uint &arr1[], uint &arr2[], double p) // p - 0..1, размеры массивов arr1, arr2 и m_pixels должны быть одинаковые
{
argb pix,pix1,pix2;
int size= ArraySize (Canvas.m_pixels);
for ( int i= 0 ; i<size;i++)
{
pix1.clr=arr1[i];
pix2.clr=arr2[i];
pix.c[ 0 ]=pix1.c[ 0 ]+( uchar )Round((( int )pix2.c[ 0 ]-( int )pix1.c[ 0 ])*p);
pix.c[ 1 ]=pix1.c[ 1 ]+( uchar )Round((( int )pix2.c[ 1 ]-( int )pix1.c[ 1 ])*p);
pix.c[ 2 ]=pix1.c[ 2 ]+( uchar )Round((( int )pix2.c[ 2 ]-( int )pix1.c[ 2 ])*p);
pix.c[ 3 ]= 255 ;
C.m_pixels[i]=pix.clr;
}
}
//+------------------------------------------------------------------+
Büyük bir istek, şuna benzer yorumlar yazmamaktır: Bu, ticareti nasıl etkiler? bu nasıl faydalı olabilir? vb. Kanvasın olanaklarını gösteren bir konudaki bu tür yorumlar, en azından kişisel olarak, benim tarafımdan amatörlüğün bir tezahürü olarak algılanacaktır.
Nikolai Semko : Kanvasın olanaklarını gösteren bir konudaki bu tür yorumlar, en azından kişisel olarak, benim tarafımdan amatörlüğün bir tezahürü olarak algılanacaktır.
çok komik
Bir meslekten olmayan olarak sadece onaylayabilirim - harika görünüyor. Ama tüm bunları nereye uygulayacağım - anlamıyorum. Peter 'a Konov ' kulübüne katılın.
Bir bmp bit eşleminin basit biçim değiştirmesinin gösterilmesi.
Büyük bir istek, şuna benzer yorumlar yazmamaktır: Bu, ticareti nasıl etkiler? bu nasıl faydalı olabilir? vb. Kanvasın olanaklarını gösteren bir konudaki bu tür yorumlar, en azından kişisel olarak, benim tarafımdan amatörlüğün bir tezahürü olarak algılanacaktır.
Hayır, peki, bu geçiş değil. Bir streç ile geçiş diyebilirsiniz:
Genel olarak, gerçek olanı kendim yapmak için çok tembeldim - onu örnek klasörlerinde buldum.
Hayır, peki, bu geçiş değil. Bir streç ile geçiş diyebilirsiniz:
Genel olarak, gerçek olanı kendim yapmak için çok tembeldim - onu örnek klasörlerinde buldum.
Ama burada, dönüşüm nerede? Tabii ki, bu durumda görevlerimiz için gerekli değil, ama yine de. Wiki'den morph'un tanımı:
Morphing ( İngilizcemorphing , transformasyon), bilgisayar animasyonunda bir teknolojidir, bir nesnenin diğerine düzgün bir şekilde dönüştürüldüğü izlenimini veren görsel bir efekttir.
Yine de, ilk örnek bu etkiye daha çok benziyor, IMHO.
Ama burada, dönüşüm nerede? Tabii ki, bu durumda görevlerimiz için gerekli değil, ama yine de. Wiki'den morph'un tanımı:
Morphing ( İngilizcemorphing , transformasyon), bilgisayar animasyonunda bir teknolojidir, bir nesnenin diğerine düzgün bir şekilde dönüştürüldüğü izlenimini veren görsel bir efekttir.
Yine de, ilk örnek bu etkiye daha çok benziyor, IMHO.
İlk örnekte düzgün dönüşüm nerede? İkincisinde, her karede her şey bir biçimden diğerine tamamen sorunsuz bir şekilde dönüştürülür (dönüştürme). Ve ilkinde, sadece zayıflama ve akma ile görüntülerin bir değişikliği. Yüzü bir insandan bir tür hayvana dönüştürmek istedim ama zaman kaybetmedim. Daha önce TV'de çalışmış ve 3D Studio MAX'ta reklamlar yapmış olan ben, dönüşümden bahsetmemeliyim :)
Ayrıca Max'te nasıl çalışılacağını da biliyorum)))) Ve sadece onun içinde değil)) Ve televizyonla da çalıştı. Belgelerden biri. kısa süre önce ekran koruyucu yaptığım filmler ödül aldı)
Elbette ilk örneği kelimenin tam anlamıyla biçim değiştirme olarak değerlendirmek saflık olur. Ama Artyom, yine de kızın eteğinin sallanması da pek doğru değil. Dönüşüme kadar değil) Şimdi, eteği mmmmm bir file dönüştüyse, bu başka bir mesele))))))
Ayrıca Max'te nasıl çalışılacağını da biliyorum)))) Ve sadece onun içinde değil)) Ve televizyonla da çalıştı. Belgelerden biri. kısa süre önce ekran koruyucu yaptığım filmler ödül aldı)
Elbette ilk örneği kelimenin tam anlamıyla biçim değiştirme olarak değerlendirmek saflık olur. Ama Artyom, yine de kızın eteğinin sallanması da pek doğru değil. Dönüşüme kadar değil) Şimdi, eteği mmmmm bir file dönüştüyse, bu başka bir mesele))))))
:)
Ben de öyle dedim - "bir esnemeyle." Ancak, sallanmanın muhtemelen önceden hesaplandığı etekle ilgili değildi (neye bakmadım), ancak boşluğun kendisiyle ilgiliydi - sonuçta, hareketler “Morphing” değiştiricisi de dahil olmak üzere çeşitli şekillerde yapılabilir. , bu tam olarak dönüşecek. Ama muhtemelen iki ayaklıyı oraya taşıyorlar - biliyor, bakmadı.
Ben de öyle dedim - "bir esnemeyle." Ancak, sallanmanın muhtemelen önceden hesaplandığı etekle ilgili değildi (neye bakmadım), ancak boşluğun kendisiyle ilgiliydi - sonuçta, hareketler “Morphing” değiştiricisi de dahil olmak üzere çeşitli şekillerde yapılabilir. , bu tam olarak dönüşecek. Ama muhtemelen iki ayaklıyı oraya taşıyorlar - biliyor, bakmadı.
Bana öyle geliyor ki o hiç Max değil. Giysi modelleme için bu program nasıl?
Modelin hareketleri, yürüme şekli iyi yapılmış. Belki de kız sensörlerle kaplıydı. Ama ellerin hareketleri, bana öyle geliyor ki, kesinleşmedi ve sanki vücut geliştirmeci cep telefonlarına basacak gibi oldu))
Eh, modelin kendisi yapmak daha güzel olabilir. The Call of Cthulhu'daki bir yamyam gibi.
Kalpten Nafludili))))). Muhtemelen bitirmeye değer.
Nikolay'a teşekkürler. Senin fedakarlığını unutmayacağım! :)
Bir bmp bit eşleminin basit biçim değiştirmesinin gösterilmesi.

Büyük bir istek, şuna benzer yorumlar yazmamaktır: Bu, ticareti nasıl etkiler? bu nasıl faydalı olabilir? vb.Kanvasın olanaklarını gösteren bir konudaki bu tür yorumlar, en azından kişisel olarak, benim tarafımdan amatörlüğün bir tezahürü olarak algılanacaktır.
Kanvasın olanaklarını gösteren bir konudaki bu tür yorumlar, en azından kişisel olarak, benim tarafımdan amatörlüğün bir tezahürü olarak algılanacaktır.
çok komik
Bir meslekten olmayan olarak sadece onaylayabilirim - harika görünüyor. Ama tüm bunları nereye uygulayacağım - anlamıyorum. Peter 'a Konov ' kulübüne katılın.
Bir bmp bit eşleminin basit biçim değiştirmesinin gösterilmesi.
Büyük bir istek, şuna benzer yorumlar yazmamaktır: Bu, ticareti nasıl etkiler? bu nasıl faydalı olabilir? vb.Kanvasın olanaklarını gösteren bir konudaki bu tür yorumlar, en azından kişisel olarak, benim tarafımdan amatörlüğün bir tezahürü olarak algılanacaktır.
Hayır, peki, bu geçiş değil. Bir streç ile geçiş diyebilirsiniz:
Genel olarak, gerçek olanı kendim yapmak için çok tembeldim - onu örnek klasörlerinde buldum.
Hayır, peki, bu geçiş değil. Bir streç ile geçiş diyebilirsiniz:
Genel olarak, gerçek olanı kendim yapmak için çok tembeldim - onu örnek klasörlerinde buldum.
Ama burada, dönüşüm nerede? Tabii ki, bu durumda görevlerimiz için gerekli değil, ama yine de. Wiki'den morph'un tanımı:
Morphing ( İngilizce morphing , transformasyon), bilgisayar animasyonunda bir teknolojidir, bir nesnenin diğerine düzgün bir şekilde dönüştürüldüğü izlenimini veren görsel bir efekttir.
Yine de, ilk örnek bu etkiye daha çok benziyor, IMHO.
Ama burada, dönüşüm nerede? Tabii ki, bu durumda görevlerimiz için gerekli değil, ama yine de. Wiki'den morph'un tanımı:
Morphing ( İngilizce morphing , transformasyon), bilgisayar animasyonunda bir teknolojidir, bir nesnenin diğerine düzgün bir şekilde dönüştürüldüğü izlenimini veren görsel bir efekttir.
Yine de, ilk örnek bu etkiye daha çok benziyor, IMHO.
İlk örnekte düzgün dönüşüm nerede? İkincisinde, her karede her şey bir biçimden diğerine tamamen sorunsuz bir şekilde dönüştürülür (dönüştürme). Ve ilkinde, sadece zayıflama ve akma ile görüntülerin bir değişikliği. Yüzü bir insandan bir tür hayvana dönüştürmek istedim ama zaman kaybetmedim. Daha önce TV'de çalışmış ve 3D Studio MAX'ta reklamlar yapmış olan ben, dönüşümden bahsetmemeliyim :)
Ayrıca Max'te nasıl çalışılacağını da biliyorum)))) Ve sadece onun içinde değil)) Ve televizyonla da çalıştı. Belgelerden biri. kısa süre önce ekran koruyucu yaptığım filmler ödül aldı)
Elbette ilk örneği kelimenin tam anlamıyla biçim değiştirme olarak değerlendirmek saflık olur. Ama Artyom, yine de kızın eteğinin sallanması da pek doğru değil. Dönüşüme kadar değil) Şimdi, eteği mmmmm bir file dönüştüyse, bu başka bir mesele))))))
Ayrıca Max'te nasıl çalışılacağını da biliyorum)))) Ve sadece onun içinde değil)) Ve televizyonla da çalıştı. Belgelerden biri. kısa süre önce ekran koruyucu yaptığım filmler ödül aldı)
Elbette ilk örneği kelimenin tam anlamıyla biçim değiştirme olarak değerlendirmek saflık olur. Ama Artyom, yine de kızın eteğinin sallanması da pek doğru değil. Dönüşüme kadar değil) Şimdi, eteği mmmmm bir file dönüştüyse, bu başka bir mesele))))))
:)
Ben de öyle dedim - "bir esnemeyle." Ancak, sallanmanın muhtemelen önceden hesaplandığı etekle ilgili değildi (neye bakmadım), ancak boşluğun kendisiyle ilgiliydi - sonuçta, hareketler “Morphing” değiştiricisi de dahil olmak üzere çeşitli şekillerde yapılabilir. , bu tam olarak dönüşecek. Ama muhtemelen iki ayaklıyı oraya taşıyorlar - biliyor, bakmadı.
:)
Ben de öyle dedim - "bir esnemeyle." Ancak, sallanmanın muhtemelen önceden hesaplandığı etekle ilgili değildi (neye bakmadım), ancak boşluğun kendisiyle ilgiliydi - sonuçta, hareketler “Morphing” değiştiricisi de dahil olmak üzere çeşitli şekillerde yapılabilir. , bu tam olarak dönüşecek. Ama muhtemelen iki ayaklıyı oraya taşıyorlar - biliyor, bakmadı.
Bana öyle geliyor ki o hiç Max değil. Giysi modelleme için bu program nasıl?
Modelin hareketleri, yürüme şekli iyi yapılmış. Belki de kız sensörlerle kaplıydı. Ama ellerin hareketleri, bana öyle geliyor ki, kesinleşmedi ve sanki vücut geliştirmeci cep telefonlarına basacak gibi oldu))
Eh, modelin kendisi yapmak daha güzel olabilir. The Call of Cthulhu'daki bir yamyam gibi.
Kalpten Nafludili))))). Muhtemelen bitirmeye değer.