Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
4 / 4 / 0
Регистрация: 29.01.2017
Сообщений: 54

Эффект воды

10.03.2018, 12:14. Показов 931. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
EfeitoAgua.vb
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
Imports System
Imports System.Drawing
Imports System.Collections
Imports System.Windows.Forms
Imports System.Drawing.Imaging
Imports System.Runtime.InteropServices
 
Public Class EfeitoAgua
 
    Inherits System.Windows.Forms.Panel
    Private effectTimer As System.Windows.Forms.Timer
    Private tmrBalance As System.Windows.Forms.Timer
    Private components As System.ComponentModel.IContainer
    Private _bmp As Bitmap
    Private _waves As Short(,,)
    Private _waveWidth As Integer
    Private _waveHeight As Integer
    Private _activeBuffer As Integer = 0
    Private _weHaveWaves As Boolean
    Private _bmpHeight As Integer, _bmpWidth As Integer
    Private _bmpBytes As Byte()
    Private _bmpBitmapData As BitmapData
    Private _scale As Integer
    Private __IsBusy As Boolean
 
    Private Sub InitializeComponent()
        Me.components = New System.ComponentModel.Container()
        Me.effectTimer = New System.Windows.Forms.Timer(Me.components)
        Me.tmrBalance = New System.Windows.Forms.Timer(Me.components)
 
        AddHandler Me.effectTimer.Tick, AddressOf Me.effectTimer_Tick
        AddHandler Me.tmrBalance.Tick, AddressOf Me.tmrBalance_Tick
        AddHandler Me.Paint, AddressOf Me.WaterEffectControl_Paint
        AddHandler Me.MouseMove, AddressOf Me.WaterEffectControl_MouseMove
    End Sub
 
    Public Sub New()
        InitializeComponent()
        effectTimer.Enabled = True
        effectTimer.Interval = 100
        tmrBalance.Interval = 1000
        SetStyle(ControlStyles.UserPaint, True)
        SetStyle(ControlStyles.AllPaintingInWmPaint, True)
        SetStyle(ControlStyles.DoubleBuffer, True)
        Me.BackColor = Color.Transparent
        _weHaveWaves = False
        _scale = 1
    End Sub
 
    Public Sub New(ByVal bmp As Bitmap)
        Me.New()
        Me.ImageBitmap = bmp
    End Sub
 
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If components IsNot Nothing Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub
 
    Private Sub effectTimer_Tick(ByVal sender As Object, ByVal e As System.EventArgs)
        If _weHaveWaves Then
            Invalidate()
            ProcessWaves()
        End If
    End Sub
    Private Sub tmrBalance_Tick(ByVal sender As Object, ByVal e As System.EventArgs)
        __IsBusy = Not __IsBusy
    End Sub
 
    Public Sub WaterEffectControl_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs)
        If IsNothing(_bmp) Then Return
        Dim tmp As Bitmap = Nothing
 
        On Error Resume Next
 
        tmp = DirectCast(_bmp.Clone(), Bitmap)
        Dim xOffset As Integer, yOffset As Integer
        Dim alpha As Byte
 
        If _weHaveWaves Then
            Dim tmpData As BitmapData = tmp.LockBits(New Rectangle(0, 0, _bmpWidth, _bmpHeight), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb)
            Dim tmpBytes As Byte() = New Byte(_bmpWidth * _bmpHeight * 4 - 1) {}
 
            Marshal.Copy(tmpData.Scan0, tmpBytes, 0, _bmpWidth * _bmpHeight * 4)
 
            For x As Integer = 1 To _bmpWidth - 2
                For y As Integer = 1 To _bmpHeight - 2
                    Dim waveX As Integer = CInt(x) >> _scale
                    Dim waveY As Integer = CInt(y) >> _scale
 
                    If waveX <= 0 Then
                        waveX = 1
                    End If
                    If waveY <= 0 Then
                        waveY = 1
                    End If
                    If waveX >= _waveWidth - 1 Then
                        waveX = _waveWidth - 2
                    End If
                    If waveY >= _waveHeight - 1 Then
                        waveY = _waveHeight - 2
                    End If
 
                    xOffset = (_waves(waveX - 1, waveY, _activeBuffer) - _waves(waveX + 1, waveY, _activeBuffer)) >> 3
                    yOffset = (_waves(waveX, waveY - 1, _activeBuffer) - _waves(waveX, waveY + 1, _activeBuffer)) >> 3
 
                    If (xOffset <> 0) OrElse (yOffset <> 0) Then
                        If x + xOffset >= _bmpWidth - 1 Then
                            xOffset = _bmpWidth - x - 1
                        End If
                        If y + yOffset >= _bmpHeight - 1 Then
                            yOffset = _bmpHeight - y - 1
                        End If
                        If x + xOffset < 0 Then
                            xOffset = -x
                        End If
                        If y + yOffset < 0 Then
                            yOffset = -y
                        End If
                        If xOffset <= 0 Then xOffset = 0
 
                        alpha = CByte(200 - xOffset)
                        If alpha < 0 Then
                            alpha = 0
                        End If
                        If alpha > 255 Then
                            alpha = 254
                        End If
                        tmpBytes(4 * (x + y * _bmpWidth)) = _bmpBytes(4 * (x + xOffset + (y + yOffset) * _bmpWidth))
                        tmpBytes(4 * (x + y * _bmpWidth) + 1) = _bmpBytes(4 * (x + xOffset + (y + yOffset) * _bmpWidth) + 1)
                        tmpBytes(4 * (x + y * _bmpWidth) + 2) = _bmpBytes(4 * (x + xOffset + (y + yOffset) * _bmpWidth) + 2)
                        tmpBytes(4 * (x + y * _bmpWidth) + 3) = alpha
                    End If
                Next
                If Not Err.Number = 0 Then Exit For
            Next
            Marshal.Copy(tmpBytes, 0, tmpData.Scan0, _bmpWidth * _bmpHeight * 4)
            tmp.UnlockBits(tmpData)
        End If
 
        e.Graphics.DrawImage(tmp, 0, 0, Me.ClientRectangle.Width, Me.ClientRectangle.Height)
 
        If Not Err.Number = 0 Then Debug.WriteLine("WaterEffectControl_Paint: " & Err.Description)
        If Not IsNothing(tmp) Then tmp.Dispose()
    End Sub
 
    Private Sub ProcessWaves()
        Dim newBuffer As Integer = If((_activeBuffer = 0), 1, 0)
        Dim wavesFound As Boolean = False
 
        If newBuffer < 0 Then newBuffer = 1
        On Error Resume Next
        For x As Integer = 1 To _waveWidth - 2
            For y As Integer = 1 To _waveHeight - 2
                _waves(x, y, newBuffer) = CShort((((_waves(x - 1, y - 1, _activeBuffer) + _waves(x, y - 1, _activeBuffer) + _waves(x + 1, y - 1, _activeBuffer) + _waves(x - 1, y, _activeBuffer) + _waves(x + 1, y, _activeBuffer) + _waves(x - 1, y + 1, _activeBuffer) + _waves(x, y + 1, _activeBuffer) + _waves(x + 1, y + 1, _activeBuffer)) >> 2) - _waves(x, y, newBuffer)))
                'damping
                If _waves(x, y, newBuffer) <> 0 Then
                    _waves(x, y, newBuffer) -= CShort((_waves(x, y, newBuffer) >> 4))
                    wavesFound = True
                End If
                If Not Err.Number = 0 Then Exit For
            Next
            If Not Err.Number = 0 Then Exit For
        Next
        _weHaveWaves = wavesFound
        _activeBuffer = newBuffer
    End Sub
 
    Private Sub PutDrop(ByVal x As Integer, ByVal y As Integer, ByVal height As Short)
        _weHaveWaves = True
        Dim radius As Integer = 20
        Dim dist As Double
        On Error Resume Next
        For i As Integer = -radius To radius
            For j As Integer = -radius To radius
                If ((x + i >= 0) AndAlso (x + i < _waveWidth - 1)) AndAlso ((y + j >= 0) AndAlso (y + j < _waveHeight - 1)) Then
                    dist = Math.Sqrt(i * i + j * j)
                    If dist < radius Then
                        _waves(x + i, y + j, _activeBuffer) = CShort((Math.Cos(dist * Math.PI / radius) * height))
                    End If
                End If
                If Not Err.Number = 0 Then Return
            Next
            If Not Err.Number = 0 Then Return
        Next
    End Sub
 
    Private Sub WaterEffectControl_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        On Error Resume Next
        If Not __IsBusy Then
            Dim realX As Integer = CInt(((e.X / CDbl(Me.ClientRectangle.Width)) * _waveWidth))
            Dim realY As Integer = CInt(((e.Y / CDbl(Me.ClientRectangle.Height)) * _waveHeight))
            If Not Err.Number = 0 Then Return
            PutDrop(realX, realY, 200)
        End If
        If Not tmrBalance.Enabled Then tmrBalance.Start()
    End Sub
 
#Region "Properties"
    Public Property ImageBitmap() As Bitmap
        Get
            Return _bmp
        End Get
        Set(ByVal value As Bitmap)
            _bmp = value
            If IsNothing(_bmp) Then
                effectTimer.Stop()
                tmrBalance.Stop()
                Return
            Else
                effectTimer.Start()
                __IsBusy = False
            End If
            _bmpHeight = _bmp.Height
            _bmpWidth = _bmp.Width
 
            _waveWidth = _bmpWidth >> _scale
            _waveHeight = _bmpHeight >> _scale
            _waves = New Int16(_waveWidth - 1, _waveHeight - 1, 1) {}
 
            _bmpBytes = New Byte(_bmpWidth * _bmpHeight * 4 - 1) {}
            _bmpBitmapData = _bmp.LockBits(New Rectangle(0, 0, _bmpWidth, _bmpHeight), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb)
            Marshal.Copy(_bmpBitmapData.Scan0, _bmpBytes, 0, _bmpWidth * _bmpHeight * 4)
        End Set
    End Property
    Public Shadows Property Scale() As Integer
        Get
            Return _scale
        End Get
        Set(ByVal value As Integer)
            _scale = value
        End Set
    End Property
#End Region
 
 
 
End Class
Миниатюры
Эффект воды  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.03.2018, 12:14
Ответы с готовыми решениями:

Реалистичный эффект воды, сделать Bitmap прозрачным
Не проходите мимо моей проблемы! есть у меня вот такой исходник для vb.net 2008 (я его немного изменил и добавил аэро эффект) в нем...

Эффект стекла
На днях задался таким вопросом, реально ли создать &quot;эффект стекла&quot; в приложения написанных на VB? я думаю, что вы понимаете о каком...

Эффект размытия
Всем привет. Помогите сделать эффект размытия в Picturebox

12
Эксперт .NET
 Аватар для Rius
13020 / 7586 / 1660
Регистрация: 25.05.2015
Сообщений: 23,060
Записей в блоге: 14
10.03.2018, 12:40
https://www.codeproject.com/Ar... re-control
0
 Аватар для XIST
1960 / 1061 / 148
Регистрация: 01.10.2009
Сообщений: 3,588
Записей в блоге: 1
10.03.2018, 14:33
amstersi, в таких случая желательно автоа и ссылку автора добавлять
1
4 / 4 / 0
Регистрация: 29.01.2017
Сообщений: 54
10.03.2018, 16:55  [ТС]
этот класс взял со своего RAT-НИКА. если что, а кто там автор мне не интересно.
0
Эксперт .NET
 Аватар для Rius
13020 / 7586 / 1660
Регистрация: 25.05.2015
Сообщений: 23,060
Записей в блоге: 14
10.03.2018, 17:03
XIST, автора я добавил. Посмотрите код и сравните:
Кликните здесь для просмотра всего текста
CodeProject, by Christian Tratz, 30 Aug 2002:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
using System;
using System.Collections;
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
using System.Windows.Forms;
 
namespace WaterEffectDemo
{
    /// <summary>
    /// 
    /// </summary>
    public class WaterEffectControl : System.Windows.Forms.Panel
    {
        private System.Windows.Forms.Timer effectTimer;
        private System.ComponentModel.IContainer components;
 
        private Bitmap      _bmp;
        private short[,,]   _waves;
        private int         _waveWidth;
        private int         _waveHeight;
        private int         _activeBuffer = 0;
        private bool        _weHaveWaves;
        private int         _bmpHeight,_bmpWidth;
        private byte[]      _bmpBytes;      
        private BitmapData  _bmpBitmapData;     
        private int         _scale;
    
 
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.effectTimer = new System.Windows.Forms.Timer(this.components);
            // 
            // effectTimer
            // 
            this.effectTimer.Tick += new System.EventHandler(this.effectTimer_Tick);
            // 
            // WaterEffectControl
            // 
            this.Paint += new System.Windows.Forms.PaintEventHandler(this.WaterEffectControl_Paint);
            this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.WaterEffectControl_MouseMove);
 
        }
    
        public WaterEffectControl()
        {
            InitializeComponent();
            effectTimer.Enabled = true;
            effectTimer.Interval = 50;
            SetStyle(ControlStyles.UserPaint, true);
            SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            SetStyle(ControlStyles.DoubleBuffer, true);
            this.BackColor = Color.White;
            _weHaveWaves = false;           
            _scale = 1;
            
        }
 
        public WaterEffectControl(Bitmap bmp) : this()
        {
            this.ImageBitmap = bmp;         
        }
 
        protected override void Dispose( bool disposing )
        {
            _bmp.UnlockBits(_bmpBitmapData);
            if( disposing )
            {
                if (components != null) 
                {
                    components.Dispose();
                }
            }
            base.Dispose( disposing );
        }
 
        /// <summary>
        /// Timer handler
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void effectTimer_Tick(object sender, System.EventArgs e)
        {   
 
            if(_weHaveWaves)
            {
                Invalidate();
 
                ProcessWaves();
 
            }
        }
 
        /// <summary>
        /// Paint handler
        /// 
        /// Calculates the final effect-image out of
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void WaterEffectControl_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
        {
    
            using(Bitmap tmp = (Bitmap)_bmp.Clone())
            {
                
                int xOffset, yOffset;
                byte alpha;
            
                if(_weHaveWaves)
                {
                    BitmapData tmpData =  tmp.LockBits(new Rectangle(0,0,_bmpWidth,_bmpHeight), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
                    
                    byte[] tmpBytes = new Byte[_bmpWidth*_bmpHeight*4];
 
                    Marshal.Copy(tmpData.Scan0,tmpBytes,0,_bmpWidth*_bmpHeight*4);
                    
                    for(int x=1; x<_bmpWidth -1; x++)
                    {
                        for(int y=1; y<_bmpHeight -1; y++)
                        {
                            int waveX = (int)x >> _scale;
                            int waveY = (int)y >> _scale;
 
                            //check bounds
                            if(waveX <= 0) waveX = 1;
                            if(waveY <= 0) waveY = 1;
                            if(waveX >= _waveWidth-1) waveX = _waveWidth-2;
                            if(waveY >= _waveHeight-1) waveY = _waveHeight-2;
 
                            //this gives us the effect of water breaking the light
                            xOffset = (_waves[waveX-1,waveY,_activeBuffer] -_waves[waveX+1,waveY,_activeBuffer]) >> 3;
                            yOffset = (_waves[waveX,waveY-1,_activeBuffer] -_waves[waveX,waveY+1,_activeBuffer]) >> 3;
 
                            if((xOffset != 0) || (yOffset != 0))
                            {
                                //check bounds
                                if(x+xOffset >= _bmpWidth-1)    xOffset = _bmpWidth - x - 1;
                                if(y+yOffset >= _bmpHeight-1)   yOffset = _bmpHeight - y - 1;
                                if(x+xOffset < 0)   xOffset = -x;
                                if(y+yOffset < 0)   yOffset = -y;
                                
                                //generate alpha
                                alpha = (byte)(200-xOffset);
                                if(alpha < 0) alpha = 0;
                                if(alpha > 255) alpha = 254;
 
                                //set colors
                                tmpBytes[4*(x + y*_bmpWidth)]       = _bmpBytes[4*(x+xOffset + (y+yOffset)*_bmpWidth)];
                                tmpBytes[4*(x + y*_bmpWidth) + 1]   = _bmpBytes[4*(x+xOffset + (y+yOffset)*_bmpWidth) + 1];
                                tmpBytes[4*(x + y*_bmpWidth) + 2]   = _bmpBytes[4*(x+xOffset + (y+yOffset)*_bmpWidth) + 2];
                                tmpBytes[4*(x + y*_bmpWidth) + 3]   = alpha;
                                
                            }
 
                        }
                    }
 
                    //copy data back
                    Marshal.Copy(tmpBytes, 0, tmpData.Scan0, _bmpWidth*_bmpHeight*4);
                    tmp.UnlockBits(tmpData);
                    
                }
 
                e.Graphics.DrawImage(tmp,0,0,this.ClientRectangle.Width, this.ClientRectangle.Height);
                
            }
            
        }
 
        /// <summary>
        /// This is the method that actually does move the waves around and simulates the
        /// behaviour of water.
        /// </summary>
        private void ProcessWaves()
        {
            int newBuffer = (_activeBuffer == 0) ? 1 : 0;
            bool wavesFound = false;
 
            for(int x=1; x<_waveWidth -1; x++)
            {
                for(int y=1; y<_waveHeight -1; y++)
                {
                    _waves[x,y,newBuffer] = (short)(
                                            ((_waves[x-1,y-1,_activeBuffer] +
                                            _waves[x,y-1,_activeBuffer] +
                                            _waves[x+1,y-1,_activeBuffer] +
                                            _waves[x-1,y,_activeBuffer] +
                                            _waves[x+1,y,_activeBuffer] +
                                            _waves[x-1,y+1,_activeBuffer] +
                                            _waves[x,y+1,_activeBuffer] +
                                            _waves[x+1,y+1,_activeBuffer]) >> 2) - _waves[x,y,newBuffer]);
                    
                    //damping
                    if(_waves[x,y,newBuffer] != 0)
                    {
                        _waves[x,y,newBuffer] -= (short)(_waves[x,y,newBuffer] >> 4);                   
                        wavesFound = true;
                    }
                    
                    
                }
            }
 
            _weHaveWaves = wavesFound;
            _activeBuffer = newBuffer;
 
        }
 
 
        /// <summary>
        /// This function is used to start a wave by simulating a round drop
        /// </summary>
        /// <param name="x">x position of the drop</param>
        /// <param name="y">y position of the drop</param>
        /// <param name="height">Height position of the drop</param>
        private void PutDrop(int x, int y, short height)
        {
            _weHaveWaves = true;
            int radius = 20;
            double dist;
 
            for(int i = -radius; i<=radius; i++)
            {
                for(int j = -radius; j<=radius; j++)
                {
                    if(((x+i>=0) && (x+i<_waveWidth-1)) && ((y+j>=0) && (y+j<_waveHeight-1)))
                    {
                        dist = Math.Sqrt(i*i +j*j);
                        if(dist<radius)
                            _waves[x+i,y+j,_activeBuffer] = (short)(Math.Cos(dist*Math.PI  / radius) * height);
                    }
                }
            }
        }
 
        /// <summary>
        /// The MouseMove handler.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void WaterEffectControl_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            if(e.Button == MouseButtons.Left)
            {
                int realX = (int)((e.X / (double)this.ClientRectangle.Width)*_waveWidth);
                int realY = (int)((e.Y / (double)this.ClientRectangle.Height)*_waveHeight);
                PutDrop(realX,realY,200);
            }
        }
 
 
        #region Properties
        /// <summary>
        /// Our background image
        /// </summary>
        public Bitmap ImageBitmap
        {
            get { return _bmp; }
            set 
            {
                _bmp = value;
                _bmpHeight = _bmp.Height;
                _bmpWidth = _bmp.Width;
 
                _waveWidth = _bmpWidth >> _scale;
                _waveHeight = _bmpHeight  >> _scale;
                _waves = new Int16[_waveWidth,_waveHeight, 2];                              
 
                _bmpBytes = new Byte[_bmpWidth*_bmpHeight*4];
                _bmpBitmapData =  _bmp.LockBits(new Rectangle(0,0,_bmpWidth,_bmpHeight), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
                Marshal.Copy(_bmpBitmapData.Scan0,_bmpBytes,0,_bmpWidth*_bmpHeight*4);
            }
        }
 
        /// <summary>
        /// The scale of the wave matrix compared to the size of the image.
        /// Use it for large images to reduce processor load.
        /// 
        /// 0 : wave resolution is the same than image resolution
        /// 1 : wave resolution is half the image resolution
        /// ...and so on
        /// </summary>
        public int Scale
        {
            get { return _scale; }
            set { _scale = value;   }
        }
        #endregion
    }
}

То, что здесь привели, просто перевод с C# на VB.
Либо переделка из общего источника, но это менее вероятно.

Цитата Сообщение от amstersi Посмотреть сообщение
этот класс взял со своего RAT-НИКА. если что, а кто там автор мне не интересно.
Только школота ворует чужой код и плюёт на его авторство.
4
4 / 4 / 0
Регистрация: 29.01.2017
Сообщений: 54
10.03.2018, 17:07  [ТС]
вот именно что не своровал а поделился им, бред не несём пожалуйста исходники не кто не отменял.
0
Эксперт .NET
 Аватар для Rius
13020 / 7586 / 1660
Регистрация: 25.05.2015
Сообщений: 23,060
Записей в блоге: 14
10.03.2018, 17:08
Поделился чужим и наплевал на авторство, даже после его указания.
Одно дело - не знал, другое - выдал чужое за своё.
2
4 / 4 / 0
Регистрация: 29.01.2017
Сообщений: 54
10.03.2018, 17:16  [ТС]
во первых на авторсто не плевал, во вторых исходник был преложен к программе с которого и взял код, в третьих за своё не выдавал, где написано что это мой код я его лично написал? где пример ? что за чат не пойму!? есть код значит поделись с другим и не важно чей он и кто его писал. Здесь сказано уже такое было.
0
Эксперт .NET
 Аватар для Rius
13020 / 7586 / 1660
Регистрация: 25.05.2015
Сообщений: 23,060
Записей в блоге: 14
10.03.2018, 17:17
Вот пример:
Цитата Сообщение от amstersi Посмотреть сообщение
взял со своего RAT-НИКА. если что, а кто там автор мне не интересно.
Цитата Сообщение от amstersi Посмотреть сообщение
что за чат не пойму!?
Это форум. А не ваша личная жж-шечка.
1
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
10.03.2018, 17:31
Цитата Сообщение от Rius Посмотреть сообщение
Только школота ворует чужой код и плюёт на его авторство.
И только школота хвастается ратниками.
Сто процентов, он ещё и хакер.....
Кликните здесь для просмотра всего текста
мамкин
0
 Аватар для XIST
1960 / 1061 / 148
Регистрация: 01.10.2009
Сообщений: 3,588
Записей в блоге: 1
10.03.2018, 18:23
Цитата Сообщение от Rius Посмотреть сообщение
Только школота ворует чужой код и плюёт на его авторство.
да хай, они и правда же открыты, но это же вроде как GPL, т.е. ссылка либо лэйбл фирмы, на сколько я понял
0
4 / 4 / 0
Регистрация: 29.01.2017
Сообщений: 54
11.03.2018, 01:42  [ТС]
судя по вашиму диалогу "школота хвастается ратниками" то выистенный ребёнок, на хватиль слов и как один в один под капирку, что касается хакера смешно с вашей стороны сказано, это ещё даёт повод задуматся о вашем мнении, кто вы?????????????????
1
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
11.03.2018, 11:02
Цитата Сообщение от amstersi Посмотреть сообщение
судя по-вашиму диалогу "школота хвастается ратниками" то выистенный ребёнок, на хватиль слов и как один в один под капирку, что касается хакера смешно с вашей стороны сказано, это ещё даёт повод задуматся о вашем мнении, кто вы?????????????????
И после этого ты не школьник?
Ну не смеши нас
6
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2018, 11:02
Помогаю со студенческими работами здесь

Эффект матрицы
Как сделать эффект матрицы в консольном приложении VB? (.NET Framework v4.5 - v4.8) Заранее спасибо.

Эффект воды
Помогите исправить ошибки, должен быть эффект воды когда зажимаешь и водишь по picturebox. PS там 2 ошибки.:-|

Эффект воды. Как убрать мерцание ?
WaterEffect.pas unit WaterEffect; interface uses Winapi.Windows, System.SysUtils, Vcl.Graphics, Math; const ...

Как в Unity сделать эффект мутной воды
Как в Unity сделать эффект мутной воды?Кто знает не молчите.

Как сделать эффект воды и глубины в фотошопе?
Я делаю пещеру в разрезе которая состоит из двух изображений Вот фон пещеры. Вот сама пещера в разрезе Как добавить на фон...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru