С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/19: Рейтинг темы: голосов - 19, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 26.02.2010
Сообщений: 3

из ч/б картинки с цветную

26.02.2010, 01:12. Показов 3615. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго всем времени суток! Подскажите плиз... с JS начал знакомиться совсем недавно ... нужно было следующее... реализовать чтобы при наведении на картинку мышкой... она из Ч/б становилась цветной... вариант с подменой картинок не устраивал ... нашел кое-как то, что меня устраивает ... правда там было наоборот (цветная а при наведении на картинку мышкой становится ч/б) подчистил много лишнего, поменял чтобы при наведении мышкой становилось цветным ... и теперь вот что получилось: http://test.prosto-web.ru/gray.html - но теперь другая проблема... как сделать чтобы картинка во время загрузки страницы стала сразу ч/б ...

вот код страницы:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Документ Без Имени</title>
<SCRIPT type=text/javascript src="desaturate.js"></SCRIPT>
<script type="text/javascript">
    function desaturate(img) {
        var img2 = Pixastic.process(img, "desaturate");
        img2.onmouseover = function() {
            Pixastic.revert(this);
        }
    }
</script>
</head>
 
<body>
 
<img onmouseout=desaturate(this); src="Flower.jpg" />
 
</body>
</html>
а вот JS:

JavaScript
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
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
/*
 * Pixastic Lib - Core Functions - v0.1.3
 * Copyright (c) 2008 Jacob Seidelin, [email]jseidelin@nihilogic.dk[/email], [url]http://blog.nihilogic.dk/[/url]
 * License: [[url]http://www.pixastic.com/lib/license.txt][/url]
 */
 
var Pixastic = (function() {
 
 
    function addEvent(el, event, handler) {
        if (el.addEventListener)
            el.addEventListener(event, handler, false); 
        else if (el.attachEvent)
            el.attachEvent("on" + event, handler); 
    }
 
    function onready(handler) {
        var handlerDone = false;
        var execHandler = function() {
            if (!handlerDone) {
                handlerDone = true;
                handler();
            }
        }
        document.write("<"+"script defer src=\"//:\" id=\"__onload_ie_pixastic__\"></"+"script>");
        var script = document.getElementById("__onload_ie_pixastic__");
        script.onreadystatechange = function() {
            if (script.readyState == "complete") {
                script.parentNode.removeChild(script);
                execHandler();
            }
        }
        if (document.addEventListener)
            document.addEventListener("DOMContentLoaded", execHandler, false); 
        addEvent(window, "load", execHandler);
    }
 
    function init() {
        var imgEls = getElementsByClass("pixastic", null, "img");
        var canvasEls = getElementsByClass("pixastic", null, "canvas");
        var elements = imgEls.concat(canvasEls);
        for (var i=0;i<elements.length;i++) {
            (function() {
 
            var el = elements[i];
            var actions = [];
            var classes = el.className.split(" ");
            for (var c=0;c<classes.length;c++) {
                var cls = classes[c];
                if (cls.substring(0,9) == "pixastic-") {
                    var actionName = cls.substring(9);
                    if (actionName != "")
                        actions.push(actionName);
                }
            }
            if (actions.length) {
                if (el.tagName.toLowerCase() == "img") {
                    var dataImg = new Image();
                    dataImg.src = el.src;
                    if (dataImg.complete) {
                        for (var a=0;a<actions.length;a++) {
                            var res = Pixastic.applyAction(el, el, actions[a], null);
                            if (res) 
                                el = res;
                        }
                    } else {
                        dataImg.onload = function() {
                            for (var a=0;a<actions.length;a++) {
                                var res = Pixastic.applyAction(el, el, actions[a], null)
                                if (res) 
                                    el = res;
                            }
                        }
                    }
                } else {
                    setTimeout(function() {
                        for (var a=0;a<actions.length;a++) {
                            var res = Pixastic.applyAction(
                                el, el, actions[a], null
                            );
                            if (res) 
                                el = res;
                        }
                    },1);
                }
            }
 
            })();
        }
    }
 
    if (typeof pixastic_parseonload != "undefined" && pixastic_parseonload)
        onready(init);
 
    // getElementsByClass by Dustin Diaz, [url]http://www.dustindiaz.com/getelementsbyclass/[/url]
    function getElementsByClass(searchClass,node,tag) {
            var classElements = new Array();
            if ( node == null )
                    node = document;
            if ( tag == null )
                    tag = '*';
 
            var els = node.getElementsByTagName(tag);
            var elsLen = els.length;
            var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
            for (i = 0, j = 0; i < elsLen; i++) {
                    if ( pattern.test(els[i].className) ) {
                            classElements[j] = els[i];
                            j++;
                    }
            }
            return classElements;
    }
 
    var debugElement;
 
    function writeDebug(text, level) {
        if (!Pixastic.debug) return;
        try {
            switch (level) {
                case "warn" : 
                    console.warn("Pixastic:", text);
                    break;
                case "error" :
                    console.error("Pixastic:", text);
                    break;
                default:
                    console.log("Pixastic:", text);
            }
        } catch(e) {
        }
        if (!debugElement) {
            
        }
    }
 
    // canvas capability checks
 
    var hasCanvas = (function() {
        var c = document.createElement("canvas");
        var val = false;
        try {
            val = !!((typeof c.getContext == "function") && c.getContext("2d"));
        } catch(e) {}
        return function() {
            return val;
        }
    })();
 
    var hasCanvasImageData = (function() {
        var c = document.createElement("canvas");
        var val = false;
        var ctx;
        try {
            if (typeof c.getContext == "function" && (ctx = c.getContext("2d"))) {
                val = (typeof ctx.getImageData == "function");
            }
        } catch(e) {}
        return function() {
            return val;
        }
    })();
 
    var hasGlobalAlpha = (function() {
        var hasAlpha = false;
        var red = document.createElement("canvas");
        if (hasCanvas() && hasCanvasImageData()) {
            red.width = red.height = 1;
            var redctx = red.getContext("2d");
            redctx.fillStyle = "rgb(255,0,0)";
            redctx.fillRect(0,0,1,1);
    
            var blue = document.createElement("canvas");
            blue.width = blue.height = 1;
            var bluectx = blue.getContext("2d");
            bluectx.fillStyle = "rgb(0,0,255)";
            bluectx.fillRect(0,0,1,1);
    
            redctx.globalAlpha = 0.5;
            redctx.drawImage(blue, 0, 0);
            var reddata = redctx.getImageData(0,0,1,1).data;
    
            hasAlpha = (reddata[2] != 255);
        }
        return function() {
            return hasAlpha;
        }
    })();
 
 
    // return public interface
 
    return {
 
        parseOnLoad : false,
 
        debug : false,
        
        applyAction : function(img, dataImg, actionName, options) {
 
            options = options || {};
 
            var imageIsCanvas = (img.tagName.toLowerCase() == "canvas");
            if (imageIsCanvas && Pixastic.Client.isIE()) {
                if (Pixastic.debug) writeDebug("Tried to process a canvas element but browser is IE.");
                return false;
            }
 
            var canvas, ctx;
            var hasOutputCanvas = false;
            if (Pixastic.Client.hasCanvas()) {
                hasOutputCanvas = !!options.resultCanvas;
                canvas = options.resultCanvas || document.createElement("canvas");
                ctx = canvas.getContext("2d");
            }
 
            var w = img.offsetWidth;
            var h = img.offsetHeight;
 
            if (imageIsCanvas) {
                w = img.width;
                h = img.height;
            }
 
            // offsetWidth/Height might be 0 if the image is not in the document
            if (w == 0 || h == 0) {
                if (img.parentNode == null) {
                    // add the image to the doc (way out left), read its dimensions and remove it again
                    var oldpos = img.style.position;
                    var oldleft = img.style.left;
                    img.style.position = "absolute";
                    img.style.left = "-9999px";
                    document.body.appendChild(img);
                    w = img.offsetWidth;
                    h = img.offsetHeight;
                    document.body.removeChild(img);
                    img.style.position = oldpos;
                    img.style.left = oldleft;
                } else {
                    if (Pixastic.debug) writeDebug("Image has 0 width and/or height.");
                    return;
                }
            }
 
            if (actionName.indexOf("(") > -1) {
                var tmp = actionName;
                actionName = tmp.substr(0, tmp.indexOf("("));
                var arg = tmp.match(/\((.*?)\)/);
                if (arg[1]) {
                    arg = arg[1].split(";");
                    for (var a=0;a<arg.length;a++) {
                        thisArg = arg[a].split("=");
                        if (thisArg.length == 2) {
                            if (thisArg[0] == "rect") {
                                var rectVal = thisArg[1].split(",");
                                options[thisArg[0]] = {
                                    left : parseInt(rectVal[0],10)||0,
                                    top : parseInt(rectVal[1],10)||0,
                                    width : parseInt(rectVal[2],10)||0,
                                    height : parseInt(rectVal[3],10)||0
                                }
                            } else {
                                options[thisArg[0]] = thisArg[1];
                            }
                        }
                    }
                }
            }
 
            if (!options.rect) {
                options.rect = {
                    left : 0, top : 0, width : w, height : h
                };
            } else {
                options.rect.left = Math.round(options.rect.left);
                options.rect.top = Math.round(options.rect.top);
                options.rect.width = Math.round(options.rect.width);
                options.rect.height = Math.round(options.rect.height);
            }
 
            var validAction = false;
            if (Pixastic.Actions[actionName] && typeof Pixastic.Actions[actionName].process == "function") {
                validAction = true;
            }
            if (!validAction) {
                if (Pixastic.debug) writeDebug("Invalid action \"" + actionName + "\". Maybe file not included?");
                return false;
            }
            if (!Pixastic.Actions[actionName].checkSupport()) {
                if (Pixastic.debug) writeDebug("Action \"" + actionName + "\" not supported by this browser.");
                return false;
            }
 
            if (Pixastic.Client.hasCanvas()) {
                if (canvas !== img) {
                    canvas.width = w;
                    canvas.height = h;
                }
                if (!hasOutputCanvas) {
                    canvas.style.width = w+"px";
                    canvas.style.height = h+"px";
                }
                ctx.drawImage(dataImg,0,0,w,h);
 
                if (!img.__pixastic_org_image) {
                    canvas.__pixastic_org_image = img;
                    canvas.__pixastic_org_width = w;
                    canvas.__pixastic_org_height = h;
                } else {
                    canvas.__pixastic_org_image = img.__pixastic_org_image;
                    canvas.__pixastic_org_width = img.__pixastic_org_width;
                    canvas.__pixastic_org_height = img.__pixastic_org_height;
                }
 
            } else if (Pixastic.Client.isIE() && typeof img.__pixastic_org_style == "undefined") {
                img.__pixastic_org_style = img.style.cssText;
            }
 
            var params = {
                image : img,
                canvas : canvas,
                width : w,
                height : h,
                useData : true,
                options : options
            }
 
            // Ok, let's do it!
 
            var res = Pixastic.Actions[actionName].process(params);
 
            if (!res) {
                return false;
            }
 
            if (Pixastic.Client.hasCanvas()) {
                if (params.useData) {
                    if (Pixastic.Client.hasCanvasImageData()) {
                        canvas.getContext("2d").putImageData(params.canvasData, options.rect.left, options.rect.top);
 
                        // Opera doesn't seem to update the canvas until we draw something on it, lets draw a 0x0 rectangle.
                        // Is this still so?
                        canvas.getContext("2d").fillRect(0,0,0,0);
                    }
                }
 
                if (!options.leaveDOM) {
                    // copy properties and stuff from the source image
                    canvas.title = img.title;
                    canvas.imgsrc = img.imgsrc;
                    if (!imageIsCanvas) canvas.alt  = img.alt;
                    if (!imageIsCanvas) canvas.imgsrc = img.src;
                    canvas.className = img.className;
                    canvas.style.cssText = img.style.cssText;
                    canvas.name = img.name;
                    canvas.tabIndex = img.tabIndex;
                    canvas.id = img.id;
                    if (img.parentNode && img.parentNode.replaceChild) {
                        img.parentNode.replaceChild(canvas, img);
                    }
                }
 
                options.resultCanvas = canvas;
 
                return canvas;
            }
 
            return img;
        },
 
        prepareData : function(params, getCopy) {
            var ctx = params.canvas.getContext("2d");
            var rect = params.options.rect;
            var dataDesc = ctx.getImageData(rect.left, rect.top, rect.width, rect.height);
            var data = dataDesc.data;
            if (!getCopy) params.canvasData = dataDesc;
            return data;
        },
 
        // load the image file
        process : function(img, actionName, options, callback) {
            if (img.tagName.toLowerCase() == "img") {
                var dataImg = new Image();
                dataImg.src = img.src;
                if (dataImg.complete) {
                    var res = Pixastic.applyAction(img, dataImg, actionName, options);
                    if (callback) callback(res);
                    return res;
                } else {
                    dataImg.onload = function() {
                        var res = Pixastic.applyAction(img, dataImg, actionName, options)
                        if (callback) callback(res);
                    }
                }
            }
            if (img.tagName.toLowerCase() == "canvas") {
                var res = Pixastic.applyAction(img, img, actionName, options);
                if (callback) callback(res);
                return res;
            }
        },
 
        revert : function(img) {
            if (Pixastic.Client.hasCanvas()) {
                if (img.tagName.toLowerCase() == "canvas" && img.__pixastic_org_image) {
                    img.width = img.__pixastic_org_width;
                    img.height = img.__pixastic_org_height;
                    img.getContext("2d").drawImage(img.__pixastic_org_image, 0, 0);
 
                    if (img.parentNode && img.parentNode.replaceChild) {
                        img.parentNode.replaceChild(img.__pixastic_org_image, img);
                    }
 
                    return img;
                }
            } else if (Pixastic.Client.isIE()) {
                if (typeof img.__pixastic_org_style != "undefined")
                    img.style.cssText = img.__pixastic_org_style;
            }
        },
 
        Client : {
            hasCanvas : hasCanvas,
            hasCanvasImageData : hasCanvasImageData,
            hasGlobalAlpha : hasGlobalAlpha,
            isIE : function() {
                return !!document.all && !!window.attachEvent && !window.opera;
            }
        },
 
        Actions : {}
    }
 
 
})();
 
 
/*
 * Pixastic Lib - Desaturation filter - v0.1.1
 * Copyright (c) 2008 Jacob Seidelin, [email]jseidelin@nihilogic.dk[/email], [url]http://blog.nihilogic.dk/[/url]
 * License: [[url]http://www.pixastic.com/lib/license.txt][/url]
 */
 
Pixastic.Actions.desaturate = {
 
    process : function(params) {
        var useAverage = !!(params.options.average && params.options.average != "false");
 
        if (Pixastic.Client.hasCanvasImageData()) {
            var data = Pixastic.prepareData(params);
            var rect = params.options.rect;
            var w = rect.width;
            var h = rect.height;
 
            var p = w*h;
            var pix = p*4, pix1, pix2;
 
            if (useAverage) {
                while (p--) 
                    data[pix-=4] = data[pix1=pix+1] = data[pix2=pix+2] = (data[pix]+data[pix1]+data[pix2])/3
            } else {
                while (p--)
                    data[pix-=4] = data[pix1=pix+1] = data[pix2=pix+2] = (data[pix]*0.3 + data[pix1]*0.59 + data[pix2]*0.11);
            }
            return true;
        } else if (Pixastic.Client.isIE()) {
            params.image.style.filter += " gray";
            return true;
        }
    },
    checkSupport : function() {
        return (Pixastic.Client.hasCanvasImageData() || Pixastic.Client.isIE());
    }
}
Заранее спасибо!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.02.2010, 01:12
Ответы с готовыми решениями:

Конвертировать цветную картинку в ч\б
Ребят нужна помощь. Помогите написать программку, которая будет выводит черно-белые картинки. Т.е. мы привязываем цветную картинку, а...

Сделать цветную кнопку
Может, вопрос глупый. Как поменять цвет кнопки на синий?

Создать цветную заставку в С++
Создать цветную заставку: Плывущий пароход, периодически выпускающий пар Кто сможет помогите. Заранее спасибо

4
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
26.02.2010, 09:55
Попробуй так:
HTML5
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Документ Без Имени</title>
<SCRIPT type=text/javascript src="desaturate.js"></SCRIPT>
<script type="text/javascript">
        function desaturate(img) {
                var img2 = Pixastic.process(img, "desaturate");
                img2.onmouseover = function() {
                        Pixastic.revert(this);
                }
        }
        window.onload = function (){
            var img = document.getElementsByTagName('img');
            for ( i in img ){
                desaturate(img[i]);
            }
        }
</script>
</head>
 
<body>
 
<img onmouseout=desaturate(this); src="Flower.jpg" />
 
</body>
</html>
Так будут все изображения на странице обрабатываться.
1
0 / 0 / 0
Регистрация: 26.02.2010
Сообщений: 3
26.02.2010, 12:48  [ТС]
немного помогло... но не доконца! сделал несколько картинок списком на странице... вот теперь код такой:

HTML5
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Документ Без Имени</title>
<SCRIPT type=text/javascript src="desaturate.js"></SCRIPT>
<script type="text/javascript"> 
        function desaturate(img) {
                var img2 = Pixastic.process(img, "desaturate");
                img2.onmouseover = function() {
                        Pixastic.revert(this);
                }
        }
        window.onload = function (){
            var img = document.getElementsByTagName('img');
            for ( i in img ){
                desaturate(img[i]);
            }
        }
</script>
</head>
 
<body>
<div><ul>
<li><img onmouseout=desaturate(this); src="Flower.jpg" /></li>
<li><img onmouseout=desaturate(this); src="1.jpg" /></li>
<li><img onmouseout=desaturate(this); src="2.jpg" /></li>
<li><img onmouseout=desaturate(this); src="3.jpg" /></li>
</ul></div>
</body>
</html>
в IE они по прежнему цветные при загрузке... а в Opera первая и третья ч/б, а вторая и четвертая цветные... странно как то!
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
26.02.2010, 15:14
Это особенности браузеров. Событие onload для всего документа срабатывает еще до того, как загрузились сами картинки.

Можно исправить, прописав для каждого img обработчик onload:

HTML5
1
2
3
4
<li><img onmouseout="desaturate(this);" onload="desaturate(this)" src="Flower.png" /></li>
<li><img onmouseout="desaturate(this);" onload="desaturate(this)" src="1.png" /></li>
<li><img onmouseout="desaturate(this);" onload="desaturate(this)" src="2.png" /></li>
<li><img onmouseout="desaturate(this);" onload="desaturate(this)" src="3.png" /></li>
Добавлено через 19 минут
В моем коде вместо .jpg-файлов прописаны .png - не проколитесь

Добавлено через 17 минут
Кстати, библиотечка эта - Pixastic - несовместима с FF и Оперой. Если посмотреть консоли, то видно, что внутренние ошибки выскакивают..

И в FF пример не работает вообще.
1
0 / 0 / 0
Регистрация: 26.02.2010
Сообщений: 3
26.02.2010, 17:36  [ТС]
ostgals, спасибо... попробую! а на FF кстати забыл опробывать!... блин ... придется опять что нибудь тогда искать... другой вариант чтоли... !!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.02.2010, 17:36
Помогаю со студенческими работами здесь

Как построить цветную спектрограмму
Доброго времени суток! У меня в проекте с микрофона в реальном времени строится амплитудный спектр звука. Хочу добавить цветную...

Как сделать цветную рамку компонента
Подскажите, как сделать так, что бы при клике например по memo, ее края (рамка) стали заданного цвета?

Нарисовать в текстовом режиме на экране цветную спираль
Осуществить заполнение экрана квадратными окнами цветов, чередующихся по спирали, начиная с нижнего правого угла экрана.

Код, преобразующий цветную картинку в черно-белую.
У меня простой код, но он чё то глючит: ------------ Dim Color As Byte Private Sub cmdMono_Click() For Y = 0 To...

Как убрать цветную заливку фона некоторых символов
Друзья, может быть ответ на мой вопрос уже давали на этом форуме, но я не нашел. Ситуация следующая: есть большой текст, некоторые...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru